Function at 0x484670
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x198
mov esi, ecx
mov ecx, dword [ebp + 0xc]
mov ebx, dword [ecx + 0x10]
mov eax, dword [ecx + 0x14]
cmp ebx, eax
mov dword [esp + 0xc], eax
mov edi, ebx
mov dword [esp + 4], ebx
jbe 0x4846a3
mov dword [esi], 0
jmp 0x487538
mov eax, dword [ecx]
mov ebx, dword [ebp + 8]
mov dword [esp], edx
mov edx, ecx
mov dword [esp + 8], eax
dec eax
cmp eax, 2
jb 0x4846d3
mov ecx, dword [esp]
cmp byte [ecx + 0x4c], 3
lea eax, [ecx + 0x40]
mov ecx, 0x54cd34
cmovne ecx, eax
cmp byte [ecx + 0xc], 2
jne 0x4849fc
cmp byte [edx + 0x18], 0
je 0x484877
mov eax, dword [esp]
cmp dword [esp + 4], 0
mov dword [esp + 0x18], esi
mov eax, dword [eax + 0x278]
mov dword [esp + 0x14], eax
je 0x48485e
mov eax, dword [esp + 4]
dec eax
cmp dword [edx + 0xc], eax
jbe 0x48485e
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x48485e
mov edi, dword [esp]
movzx eax, byte [ecx + eax]
mov ecx, dword [edi + 0x258]
mov edx, dword [edi + 0x260]
mov byte [esp + 0x10], al
mov eax, dword [edi + 0x264]
or edx, dword [edi + 0x270]
or ecx, dword [edi + 0x268]
or eax, dword [edi + 0x274]
or ecx, edx
mov edx, dword [edi + 0x25c]
or edx, dword [edi + 0x26c]
or edx, eax
or edx, ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [esp + 0x10]
mov edi, dword [ecx + 4]
mov dword [esp + 0x40], edx
je 0x484d94
mov ch, byte [esp + 0x10]
mov dword [esp + 0xd0], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xc4], 1
mov dword [esp + 0xc0], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0
mov al, ch
and ch, 7
and al, 0x78
mov cl, ch
shr al, 3
neg al
movsx eax, al
mov ebx, dword [esp + eax + 0xcc]
mov dword [esp + 0x38], edi
mov edi, dword [esp + eax + 0xd0]
mov dword [esp + 0x1c], eax
mov esi, dword [esp + eax + 0xc8]
mov eax, dword [esp + 0x40]
shld edi, ebx, cl
shl ebx, cl
not cl
mov edx, esi
shr eax, 3
shr edx, 1
and eax, 0xfffffff0
shr edx, cl
mov cl, ch
or edx, ebx
mov ebx, dword [esp + 0x1c]
mov ebx, dword [esp + ebx + 0xc4]
shld esi, ebx, cl
shl ebx, cl
mov ecx, dword [esp]
add ecx, 0x258
and edx, dword [ecx + eax + 8]
and ebx, dword [ecx + eax]
and edi, dword [ecx + eax + 0xc]
and esi, dword [ecx + eax + 4]
or esi, edi
or ebx, edx
mov edi, dword [esp + 0x38]
or esi, ebx
mov ebx, dword [ebp + 8]
je 0x484d94
movzx eax, byte [esp + 0x10]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x484de2
mov edi, dword [edx + 4]
mov al, 2
mov edx, dword [esp + 8]
movzx ecx, al
test edx, edx
jne 0x484dab
jmp 0x484db7
mov eax, dword [esp]
cmp dword [esp + 4], 0
mov eax, dword [eax + 0x278]
mov dword [esp + 0x38], eax
je 0x484bb3
mov eax, dword [esp + 4]
dec eax
cmp dword [edx + 0xc], eax
jbe 0x484bb3
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x484bb3
mov edi, dword [esp]
movzx eax, byte [ecx + eax]
mov ecx, dword [edi + 0x258]
mov edx, dword [edi + 0x260]
mov byte [esp + 0x10], al
mov eax, dword [edi + 0x264]
or edx, dword [edi + 0x270]
or ecx, dword [edi + 0x268]
or eax, dword [edi + 0x274]
or ecx, edx
mov edx, dword [edi + 0x25c]
or edx, dword [edi + 0x26c]
or edx, eax
or edx, ecx
mov ecx, dword [ebp + 0xc]
movzx edx, byte [esp + 0x10]
mov edi, dword [ecx + 4]
mov dword [esp + 0x14], edx
je 0x485228
mov ch, byte [esp + 0x10]
mov dword [esp + 0xb0], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xa4], 1
mov dword [esp + 0xa0], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x94], 0
mov al, ch
and ch, 7
and al, 0x78
mov cl, ch
shr al, 3
neg al
movsx eax, al
mov ebx, dword [esp + eax + 0xac]
mov dword [esp + 0x40], edi
mov edi, dword [esp + eax + 0xb0]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + eax + 0xa8]
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x14]
shld edi, ebx, cl
shl ebx, cl
not cl
mov esi, edx
shr eax, 3
shr esi, 1
and eax, 0xfffffff0
shr esi, cl
mov cl, ch
or esi, ebx
mov ebx, dword [esp + 0x1c]
mov ebx, dword [esp + ebx + 0xa4]
shld edx, ebx, cl
shl ebx, cl
mov ecx, dword [esp]
add ecx, 0x258
and esi, dword [ecx + eax + 8]
and ebx, dword [ecx + eax]
and edi, dword [ecx + eax + 0xc]
and edx, dword [ecx + eax + 4]
or ebx, esi
or edx, edi
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
or edx, ebx
mov ebx, dword [ebp + 8]
je 0x485228
movzx eax, byte [esp + 0x10]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x485276
cmp byte [edx + 0x18], 0
mov dword [esp + 0x10], ecx
je 0x484beb
mov eax, dword [esp]
cmp dword [esp + 4], 0
mov eax, dword [eax + 0x278]
mov dword [esp + 0x1c], eax
mov eax, dword [eax + 0x134]
mov dword [esp + 0x40], eax
je 0x484bcc
mov eax, dword [esp + 4]
dec eax
cmp dword [edx + 0xc], eax
jbe 0x484bcc
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x484bcc
mov edi, dword [esp]
movzx eax, byte [ecx + eax]
mov ecx, dword [edi + 0x258]
mov edx, dword [edi + 0x260]
mov byte [esp + 8], al
mov eax, dword [edi + 0x264]
or edx, dword [edi + 0x270]
or ecx, dword [edi + 0x268]
or eax, dword [edi + 0x274]
or ecx, edx
mov edx, dword [edi + 0x25c]
or edx, dword [edi + 0x26c]
or edx, eax
movzx eax, byte [esp + 8]
or edx, ecx
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x38], eax
je 0x485957
mov ch, byte [esp + 8]
mov dword [esp + 0x190], 0
mov dword [esp + 0x18c], 0
mov dword [esp + 0x188], 0
mov dword [esp + 0x184], 1
mov dword [esp + 0x180], 0
mov dword [esp + 0x17c], 0
mov dword [esp + 0x178], 0
mov dword [esp + 0x174], 0
mov al, ch
and ch, 7
and al, 0x78
mov cl, ch
shr al, 3
neg al
movsx eax, al
mov dword [esp + 0x64], eax
mov ebx, dword [esp + eax + 0x18c]
mov eax, dword [esp + eax + 0x190]
shld eax, ebx, cl
shl ebx, cl
not cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x64]
mov edx, dword [esp + eax + 0x188]
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x44]
mov esi, edx
shr eax, 3
shr esi, 1
and eax, 0xfffffff0
shr esi, cl
mov cl, ch
or esi, ebx
mov ebx, dword [esp + 0x64]
mov ebx, dword [esp + ebx + 0x184]
shld edx, ebx, cl
shl ebx, cl
lea ecx, [edi + 0x258]
mov dword [esp + 0x64], ecx
and esi, dword [ecx + eax + 8]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x64]
and ecx, dword [edi + eax + 0xc]
mov edi, dword [esp]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x64]
and edx, dword [ecx + eax + 4]
and ebx, dword [ecx + eax]
or edx, dword [esp + 0x14]
or ebx, esi
mov esi, dword [esp + 0x18]
or edx, ebx
mov ebx, dword [ebp + 8]
je 0x485957
movzx eax, byte [esp + 8]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x48598e
mov edi, dword [edx + 4]
mov al, 2
mov edx, dword [esp + 8]
movzx ecx, al
test edx, edx
jne 0x48523f
jmp 0x48524b
mov eax, dword [edx + 4]
mov dword [esp + 0x38], eax
mov al, 2
mov edx, dword [ebx + 0x88]
movzx eax, al
cmp edx, eax
ja 0x485971
jmp 0x4877b3
mov eax, dword [esp]
cmp dword [esp + 4], 0
mov eax, dword [eax + 0x278]
mov dword [esp + 0x64], eax
mov eax, dword [eax + 0x134]
mov dword [esp + 0x40], eax
je 0x485209
mov eax, dword [esp + 4]
dec eax
cmp dword [edx + 0xc], eax
jbe 0x485209
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x485209
mov edi, dword [esp]
movzx eax, byte [ecx + eax]
mov ecx, dword [edi + 0x258]
mov edx, dword [edi + 0x260]
mov byte [esp + 8], al
mov eax, dword [edi + 0x264]
or edx, dword [edi + 0x270]
or ecx, dword [edi + 0x268]
or eax, dword [edi + 0x274]
or ecx, edx
mov edx, dword [edi + 0x25c]
or edx, dword [edi + 0x26c]
or edx, eax
movzx eax, byte [esp + 8]
or edx, ecx
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 4]
mov dword [esp + 0x44], eax
je 0x485c31
mov ch, byte [esp + 8]
mov dword [esp + 0x130], 0
mov dword [esp + 0x12c], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x124], 1
mov dword [esp + 0x120], 0
mov dword [esp + 0x11c], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x114], 0
mov al, ch
and ch, 7
and al, 0x78
mov cl, ch
shr al, 3
neg al
movsx eax, al
mov dword [esp + 0x1c], eax
mov ebx, dword [esp + eax + 0x12c]
mov eax, dword [esp + eax + 0x130]
shld eax, ebx, cl
shl ebx, cl
not cl
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + eax + 0x128]
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x38]
mov esi, edx
shr eax, 3
shr esi, 1
and eax, 0xfffffff0
shr esi, cl
mov cl, ch
or esi, ebx
mov ebx, dword [esp + 0x1c]
mov ebx, dword [esp + ebx + 0x124]
shld edx, ebx, cl
shl ebx, cl
lea ecx, [edi + 0x258]
mov dword [esp + 0x1c], ecx
and esi, dword [ecx + eax + 8]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
and ecx, dword [edi + eax + 0xc]
mov edi, dword [esp]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1c]
and edx, dword [ecx + eax + 4]
and ebx, dword [ecx + eax]
or edx, dword [esp + 0x14]
or ebx, esi
mov esi, dword [esp + 0x18]
or edx, ebx
mov ebx, dword [ebp + 8]
je 0x485c31
movzx eax, byte [esp + 8]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x485c68
mov eax, dword [esp]
mov ecx, dword [esp + 0x40]
movzx eax, byte [eax + ecx + 0x58]
mov edx, dword [esp + 8]
movzx ecx, al
test edx, edx
je 0x484db7
cmp edx, 1
jne 0x48511b
add ecx, 6
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jae 0x485742
mov edx, dword [ebx + 0x84]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x48592e
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push dword [esp + 4]
call fcn.00487ac0
add esp, 4
cmp dword [esp + 0x20], 0
mov esi, dword [esp + 0x24]
je 0x484e13
mov eax, dword [esp + 0x18]
mov dword [eax + 4], esi
mov dword [eax], 2
jmp 0x487538
cmp dword [ebx + 0xb0], 1
jne 0x484e36
mov eax, dword [ebx + 0xb8]
mov ecx, dword [ebx + 0xb4]
mov edx, eax
sub edx, ecx
neg edx
sub eax, ecx
cmovb eax, edx
add dword [ebx + 0x70], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0xb0], 1
mov dword [ebx + 0xb4], eax
mov dword [ebx + 0xb8], eax
cmp eax, dword [esp + 0xc]
mov eax, dword [ebp + 0xc]
jae 0x485139
mov ecx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [esp]
mov dword [esp + 8], ecx
mov eax, dword [eax + 0x27c]
and eax, 0x1f
mov dword [esp + 0x1c], eax
jmp 0x484ea3
mov ebx, dword [esp + 0xc]
mov esi, edx
mov dword [esp + 4], edi
mov ecx, dword [esp + 4]
inc ecx
mov eax, ecx
cmp ecx, ebx
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], ecx
jae 0x4856b5
cmp esi, 0x7ffffff
jbe 0x484f20
cmp dword [ebx + 0xb0], 0
je 0x48790e
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x10]
mov dword [ebx + 0xb8], eax
jae 0x4876df
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, ebx
movzx ebx, byte [eax + ecx]
mov eax, dword [esp]
mov ecx, esi
and ecx, 0x7ffffff
movzx eax, byte [eax + ebx + 0x158]
add ecx, eax
mov eax, dword [edx + 0x7c]
cmp ecx, eax
jae 0x487555
mov eax, dword [edx + 0x78]
mov edx, dword [eax + ecx*4]
test edx, edx
js 0x48509e
mov edi, dword [esp + 4]
jmp 0x485080
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0xc]
jae 0x485000
mov ecx, dword [ebx + 0x7c]
mov eax, dword [ebx + 0x78]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x40], ecx
nop dword [eax]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 4]
mov edx, dword [esp]
movzx ecx, byte [ecx + edi]
movzx ecx, byte [edx + ecx + 0x158]
add ecx, esi
mov edx, dword [eax + ecx*4]
lea ecx, [edi + 3]
cmp ecx, ebx
jae 0x485009
cmp edx, 0x8000000
jae 0x485009
mov edi, ecx
mov esi, dword [esp + 8]
mov ecx, dword [esp + 4]
mov ebx, dword [esp]
movzx ecx, byte [esi + ecx + 1]
movzx ecx, byte [ebx + ecx + 0x158]
add ecx, edx
mov ecx, dword [eax + ecx*4]
cmp ecx, 0x7ffffff
ja 0x485016
mov edx, dword [esp + 4]
movzx edx, byte [esi + edx + 2]
movzx edx, byte [ebx + edx + 0x158]
add edx, ecx
mov edx, dword [eax + edx*4]
cmp edx, 0x7ffffff
ja 0x485023
mov ecx, dword [esp + 4]
movzx ecx, byte [esi + ecx + 3]
movzx ecx, byte [ebx + ecx + 0x158]
add ecx, edx
mov esi, dword [eax + ecx*4]
cmp esi, 0x7ffffff
ja 0x485030
mov edx, dword [esp + 4]
mov ebx, dword [esp + 0xc]
add edx, 4
cmp edx, ebx
mov ecx, edx
mov dword [esp + 4], edx
jb 0x484f40
jmp 0x484e8a
mov ebx, dword [esp + 0xc]
jmp 0x484e8a
mov edi, dword [esp + 4]
mov ebx, dword [esp]
mov dword [esp + 0x38], esi
jmp 0x485036
mov edi, dword [esp + 4]
mov dword [esp + 0x38], edx
mov edx, ecx
inc edi
jmp 0x48503a
mov edi, dword [esp + 4]
mov dword [esp + 0x38], ecx
add edi, 2
jmp 0x48503a
mov dword [esp + 0x38], edx
mov edx, esi
mov esi, dword [esp + 8]
test edx, edx
jns 0x485080
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb0], 0
je 0x48790e
mov dword [ecx + 0xb8], edi
mov edx, dword [esp + 0x40]
movzx esi, byte [esi + edi]
movzx ecx, byte [ebx + esi + 0x158]
add ecx, dword [esp + 0x38]
cmp ecx, edx
jae 0x4877a9
mov edx, dword [eax + ecx*4]
test edx, edx
js 0x4850cb
nop word [eax + eax]
cmp edx, 0x8000000
jb 0x484e80
mov eax, edx
and eax, 0x10000000
jne 0x484e80
jmp 0x4858b2
mov eax, dword [esp]
shl ebx, 8
mov edx, esi
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
push ebx
call fcn.00535080
add esp, 4
test eax, eax
je 0x484f08
jmp 0x487279
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x38]
shl esi, 8
mov dword [esp + 0x20], ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x24], eax
push esi
call fcn.00535080
add esp, 4
test eax, eax
je 0x485080
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov ecx, dword [esp + 0x18]
mov byte [eax], 1
mov dword [eax + 4], edi
jmp 0x485fa2
mov edx, dword [esp]
test byte [edx + 0x51], 1
jne 0x4851df
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], edi
jmp 0x484de2
mov edx, dword [eax + 0xc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], edx
cmp ecx, edx
jae 0x4856c9
mov eax, dword [eax + 8]
mov edx, dword [ebp + 8]
movzx eax, byte [eax + ecx]
mov ecx, esi
and ecx, 0x7ffffff
mov byte [esp + 4], al
movzx ebx, al
mov eax, dword [esp]
movzx eax, byte [eax + ebx + 0x158]
add ecx, eax
mov eax, dword [edx + 0x7c]
cmp ecx, eax
jae 0x487555
mov eax, dword [edx + 0x78]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x48676c
test edi, 0x8000000
jne 0x48712f
mov ebx, dword [ebp + 8]
test edi, 0x20000000
je 0x485716
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x487993
movzx ebx, byte [esp + 4]
mov byte [eax], 0
mov byte [eax + 1], bl
mov dword [eax + 4], edx
jmp 0x485fa2
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x154], edi
jbe 0x485904
lea edx, [edi + edi*2]
lea ecx, [ecx + edx*2 + 0xc]
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jb 0x484dc5
jmp 0x485742
mov eax, dword [edx + 4]
mov dword [esp + 0x44], eax
mov al, 2
mov edx, dword [ebx + 0x88]
movzx eax, al
cmp edx, eax
ja 0x485c4b
jmp 0x4877b3
mov eax, dword [esp]
mov ecx, dword [esp + 0x14]
movzx eax, byte [eax + ecx + 0x58]
mov edx, dword [esp + 8]
movzx ecx, al
test edx, edx
je 0x48524b
cmp edx, 1
jne 0x485684
add ecx, 6
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jae 0x485742
mov edx, dword [ebx + 0x84]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x485c08
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], 5
lea edx, [esp + 0x48]
lea ecx, [esp + 0x20]
push dword [esp + 4]
call fcn.00487ac0
add esp, 4
cmp dword [esp + 0x20], 0
mov edx, dword [esp + 0x24]
je 0x4852a3
mov dword [esi + 4], edx
mov dword [esi], 2
jmp 0x487538
cmp dword [ebx + 0xb0], 1
jne 0x4852cd
mov eax, dword [ebx + 0xb8]
mov ecx, dword [ebx + 0xb4]
mov ebx, esi
mov esi, eax
sub esi, ecx
neg esi
sub eax, ecx
cmovb eax, esi
mov esi, ebx
mov ebx, dword [ebp + 8]
add dword [ebx + 0x70], eax
mov eax, dword [esp + 4]
mov dword [ebx + 0xb0], 1
cmp eax, dword [esp + 0xc]
mov dword [ebx + 0xb4], eax
mov dword [ebx + 0xb8], eax
jae 0x4856a2
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], 0
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x40], eax
mov eax, dword [esp]
mov dword [esp + 8], esi
mov eax, dword [eax + 0x27c]
and eax, 0x1f
mov dword [esp + 0x58], eax
jmp 0x485338
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0xc]
inc edi
cmp edi, ebx
mov ebx, dword [ebp + 8]
mov dword [esp + 4], edi
jae 0x48574c
cmp edx, 0x7ffffff
jbe 0x4853c0
cmp dword [ebx + 0xb0], 0
je 0x48790e
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x40]
mov dword [ebx + 0xb8], eax
jae 0x4876f1
mov eax, dword [esp + 4]
mov ecx, edx
and ecx, 0x7ffffff
movzx esi, byte [esi + eax]
mov eax, dword [esp]
movzx eax, byte [eax + esi + 0x158]
add ecx, eax
mov eax, dword [ebx + 0x7c]
cmp ecx, eax
jae 0x487555
mov eax, dword [ebx + 0x78]
mov eax, dword [eax + ecx*4]
test eax, eax
js 0x485604
mov edi, dword [esp + 4]
mov edx, eax
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 8]
cmp edx, 0x8000000
jae 0x485530
jmp 0x485328
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0xc]
jae 0x485320
mov edi, dword [ebx + 0x78]
mov eax, dword [ebx + 0x7c]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x64], eax
mov dword [esp + 0x10], edi
mov eax, dword [esp + 4]
movzx ecx, byte [esi + eax]
mov esi, dword [esp]
movzx ecx, byte [esi + ecx + 0x158]
lea esi, [eax + 3]
mov dword [esp + 0x14], esi
add ecx, edx
cmp esi, ebx
mov ecx, dword [edi + ecx*4]
mov edi, eax
jae 0x48549e
cmp ecx, 0x8000000
jae 0x48549e
mov ebx, dword [esp + 8]
mov esi, dword [esp]
mov eax, dword [esp + 0x10]
movzx edx, byte [ebx + edi + 1]
movzx edx, byte [esi + edx + 0x158]
add edx, ecx
mov edx, dword [eax + edx*4]
cmp edx, 0x7ffffff
ja 0x485503
movzx ecx, byte [ebx + edi + 2]
movzx ecx, byte [esi + ecx + 0x158]
add ecx, edx
mov ecx, dword [eax + ecx*4]
cmp ecx, 0x7ffffff
ja 0x48550a
movzx edx, byte [ebx + edi + 3]
movzx edx, byte [esi + edx + 0x158]
add edx, ecx
mov edx, dword [eax + edx*4]
cmp edx, 0x7ffffff
ja 0x4855e3
mov ebx, dword [esp + 0xc]
add edi, 4
mov esi, dword [esp + 8]
mov dword [esp + 4], edi
cmp edi, ebx
mov edi, dword [esp + 0x10]
jb 0x4853e0
mov edi, dword [esp + 4]
jmp 0x485328
mov esi, dword [esp + 8]
mov eax, edx
mov edx, dword [esp + 0x64]
test ecx, ecx
jns 0x48551d
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb0], 0
je 0x48790e
mov dword [ecx + 0xb8], edi
mov dword [esp + 0x14], edi
mov ecx, dword [esp]
mov dword [esp + 4], eax
movzx edi, byte [esi + edi]
movzx ecx, byte [ecx + edi + 0x158]
add ecx, eax
cmp ecx, edx
jae 0x4877a9
mov eax, dword [esp + 0x10]
mov edx, dword [eax + ecx*4]
test edx, edx
js 0x485633
mov edi, dword [esp + 0x14]
cmp edx, 0x8000000
jae 0x485530
jmp 0x485328
mov eax, ecx
inc edi
mov ecx, edx
jmp 0x48550f
add edi, 2
mov eax, edx
mov esi, ebx
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x64]
test ecx, ecx
js 0x4854ac
mov edx, ecx
cmp edx, 0x8000000
jb 0x485328
nop dword [eax + eax]
mov eax, edx
and eax, 0x10000000
jne 0x485328
test edx, 0x8000000
je 0x485f69
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x44], 0
cmp dword [eax + 0x154], 1
jne 0x48556f
mov dword [esp + 0x3c], edi
jmp 0x485328
mov dword [esp + 0x14], edi
mov edi, edx
mov ecx, dword [esp + 0x58]
and edi, 0x7ffffff
shr edi, cl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x94]
cmp edi, eax
jae 0x4877cd
mov ecx, dword [ecx + 0x90]
mov eax, dword [ecx + edi*8 + 4]
test eax, eax
je 0x4877bf
mov ecx, dword [ecx + edi*8]
test byte [ecx + 8], 2
jne 0x4855ba
mov edi, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
jmp 0x485328
mov edi, dword [esp + 0x14]
cmp eax, 0xd
jb 0x48794e
add eax, 0xfffffff3
cmp eax, 3
jbe 0x4875a1
mov eax, dword [ecx + 0x15]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], eax
jmp 0x485328
mov esi, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov edi, dword [esp + 0x14]
mov eax, ecx
mov ecx, edx
mov edx, dword [esp + 0x64]
test ecx, ecx
jns 0x48551d
jmp 0x4854ac
mov eax, dword [esp]
shl esi, 8
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
push esi
call fcn.00535080
add esp, 4
test eax, eax
jne 0x487402
mov edi, dword [esp + 4]
jmp 0x4853a1
mov eax, dword [esp]
mov edx, dword [esp + 4]
shl edi, 8
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
push edi
call fcn.00535080
add esp, 4
test eax, eax
je 0x4854f2
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov ecx, dword [esp + 0x14]
jmp 0x487424
mov edx, dword [esp]
test byte [edx + 0x51], 1
jne 0x48571d
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], edi
jmp 0x485276
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1c], 0
mov edi, dword [eax + 0xc]
jmp 0x485754
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], edx
cmp ecx, edx
jb 0x48514c
mov eax, dword [esp]
mov edx, dword [ebp + 8]
mov ecx, esi
and ecx, 0x7ffffff
movzx ebx, byte [eax + 0x257]
shl ebx, 0x10
add ebx, 0x10001
mov eax, ebx
shr eax, 0x10
add ecx, eax
mov eax, dword [edx + 0x7c]
cmp ecx, eax
jae 0x487846
mov eax, dword [edx + 0x78]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x4867c2
test edi, 0x8000000
jne 0x4871c6
mov ebx, dword [ebp + 8]
xor eax, eax
jmp 0x487235
mov edx, dword [esp + 0x38]
cmp dword [edx + 0x154], edi
jbe 0x485bde
lea edx, [edi + edi*2]
lea ecx, [ecx + edx*2 + 0xc]
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jb 0x485259
push 0x54ccf4
call fcn.00532ca0
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x40]
mov ecx, dword [esp + 0xc]
mov ebx, esi
mov dword [esp + 0x40], edi
cmp ecx, edi
jae 0x4857fa
mov eax, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [eax + 8]
movzx eax, byte [eax + ecx]
mov ecx, edx
and ecx, 0x7ffffff
mov byte [esp + 4], al
movzx esi, al
mov eax, dword [esp]
movzx eax, byte [eax + esi + 0x158]
add ecx, eax
mov eax, dword [edi + 0x7c]
cmp ecx, eax
jae 0x487555
mov eax, dword [edi + 0x78]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x486815
test edi, 0x8000000
mov esi, ebx
jne 0x48745c
mov ebx, dword [ebp + 8]
test edi, 0x20000000
je 0x4874f5
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
movzx ecx, byte [esp + 4]
mov edx, dword [esp + 0xc]
mov byte [eax], 0
mov byte [eax + 1], cl
mov dword [eax + 4], edx
jmp 0x485c87
mov eax, dword [esp]
mov edi, dword [ebp + 8]
mov ecx, edx
and ecx, 0x7ffffff
movzx esi, byte [eax + 0x257]
shl esi, 0x10
add esi, 0x10001
mov eax, esi
shr eax, 0x10
add ecx, eax
mov eax, dword [edi + 0x7c]
cmp ecx, eax
jae 0x487846
mov eax, dword [edi + 0x78]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x48686a
mov esi, ebx
mov ebx, dword [ebp + 8]
test edi, 0x8000000
je 0x4874f5
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x44], 0
cmp dword [eax + 0x154], 1
je 0x4858a5
mov eax, dword [esp]
mov edx, dword [ebx + 0x94]
and edi, 0x7ffffff
movzx ecx, byte [eax + 0x27c]
shr edi, cl
cmp edi, edx
jae 0x487898
mov eax, dword [ebx + 0x90]
mov edx, dword [eax + edi*8 + 4]
test edx, edx
je 0x4877bf
mov eax, dword [eax + edi*8]
test byte [eax + 8], 2
jne 0x486016
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], eax
jmp 0x4874f5
test edx, 0x8000000
jne 0x485ebc
mov esi, dword [esp + 0x18]
test edx, 0x40000000
jne 0x485fb9
test edx, 0x20000000
je 0x487a84
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.00487be0
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x487055
mov eax, dword [esp + 8]
mov edx, edi
movzx ecx, byte [eax + edi]
call fcn.00487c20
jmp 0x485c87
mov ecx, dword [esp]
mov edx, 1
mov ecx, dword [ecx + 0x27c]
and ecx, 0x1f
shl edx, cl
cmp ecx, 0x1b
jae 0x48795f
or edx, 0x40000000
test edx, edx
jns 0x484dd6
mov ecx, dword [esp]
movzx eax, al
lea edx, [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x48]
push eax
push edi
push dword [esp + 0x10]
call fcn.00536390
add esp, 0xc
jmp 0x484de2
mov eax, dword [esp + 0x44]
movzx eax, byte [edi + eax + 0x58]
mov edx, dword [ebx + 0x88]
movzx eax, al
cmp edx, eax
jbe 0x4877b3
mov ecx, dword [ebx + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x485fc8
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push dword [esp + 4]
call fcn.00487ac0
add esp, 4
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x24]
je 0x4859bb
mov dword [esi + 4], ebx
mov dword [esi], 2
jmp 0x487538
mov ecx, dword [esp + 0x10]
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x18], esi
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x14], edx
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0x20]
mov edi, dword [esp + 0x14]
dec edx
and edx, 0xfffffff8
lea edx, [edx + edi + 8]
lea edi, [esp + 0x84]
push dword [esp + 0xc]
push dword [esp + 8]
mov dword [esp + 0x1c], eax
push eax
mov dword [esp + 0x14], esi
push esi
mov dword [esp + 0x74], edx
push edx
push edi
mov dword [esp + 0x5c], ecx
call ecx
add esp, 0x18
cmp dword [esp + 0x84], 0
je 0x485bd1
cmp dword [esp + 0x40], 0
mov edi, dword [esp + 0x88]
lea ecx, [esp + 0x48]
je 0x4860ce
mov eax, dword [esp + 0xc]
mov dword [esp + 0x78], edi
cmp dword [esp + 0x14], eax
mov dword [esp + 0x7c], eax
jb 0x487a1a
inc eax
cmp eax, edi
jb 0x487a1a
mov ebx, dword [ebp + 8]
test edi, edi
je 0x485f62
lea eax, [edi - 1]
cmp dword [esp + 0x14], eax
jbe 0x485f62
mov esi, dword [esp]
mov ecx, dword [esi + 0x258]
mov ebx, dword [esi + 0x260]
mov edx, dword [esi + 0x264]
or ebx, dword [esi + 0x270]
or ecx, dword [esi + 0x268]
or edx, dword [esi + 0x274]
or ecx, ebx
mov ebx, dword [esi + 0x25c]
or ebx, dword [esi + 0x26c]
or ebx, edx
or ebx, ecx
mov ecx, dword [esp + 8]
movzx ecx, byte [ecx + eax]
movzx eax, cl
mov dword [esp + 0x3c], eax
je 0x486065
mov eax, ecx
mov dword [esp + 0x170], 0
mov dword [esp + 0x16c], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x164], 1
mov dword [esp + 0x160], 0
mov dword [esp + 0x15c], 0
mov dword [esp + 0x158], 0
mov dword [esp + 0x154], 0
mov byte [esp + 0x58], cl
and al, 0x78
mov ch, byte [esp + 0x58]
shr al, 3
neg al
movsx eax, al
mov dword [esp + 0x10], eax
and ch, 7
mov ebx, dword [esp + eax + 0x16c]
mov eax, dword [esp + eax + 0x170]
mov cl, ch
shld eax, ebx, cl
shl ebx, cl
not cl
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
mov edx, dword [esp + eax + 0x168]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x70], edx
shr edx, 1
shr eax, 3
shr edx, cl
mov cl, ch
and eax, 0xfffffff0
or edx, ebx
mov ebx, dword [esp + 0x10]
mov ebx, dword [esp + ebx + 0x164]
shld dword [esp + 0x70], ebx, cl
shl ebx, cl
lea ecx, [esi + 0x258]
mov dword [esp + 0x10], ecx
and edx, dword [ecx + eax + 8]
mov ecx, dword [esp + 4]
mov esi, dword [esp + 0x10]
and ecx, dword [esi + eax + 0xc]
mov esi, dword [esp + 0x10]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x10]
and ebx, dword [ecx + eax]
mov ecx, dword [esp + 0x70]
and ecx, dword [esi + eax + 4]
mov esi, dword [esp]
movzx eax, byte [esp + 0x58]
or ebx, edx
or ecx, dword [esp + 4]
or ecx, ebx
je 0x486065
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x48609f
mov ecx, dword [esp + 0x18]
xor eax, eax
mov dword [ecx], eax
jmp 0x487538
mov ecx, dword [esp]
mov edx, 1
mov ecx, dword [ecx + 0x27c]
and ecx, 0x1f
shl edx, cl
cmp ecx, 0x1b
jae 0x48795f
or edx, 0x40000000
test edx, edx
jns 0x48526a
mov ecx, dword [esp]
movzx eax, al
lea edx, [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x48]
push eax
push edi
push dword [esp + 0x10]
call fcn.00536390
add esp, 0xc
jmp 0x485276
mov eax, dword [esp + 0x38]
movzx eax, byte [edi + eax + 0x58]
mov edx, dword [ebx + 0x88]
movzx eax, al
cmp edx, eax
jbe 0x4877b3
mov ecx, dword [ebx + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x48603e
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push dword [esp + 4]
call fcn.00487ac0
add esp, 4
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x24]
je 0x485c95
mov dword [esi + 4], eax
mov dword [esi], 2
jmp 0x487538
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov ecx, dword [esp + 0x10]
mov edi, dword [eax + 8]
mov ebx, dword [eax + 0xc]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0x20]
dec edx
and edx, 0xfffffff8
lea eax, [edx + eax + 8]
lea edx, [esp + 0x84]
push dword [esp + 0xc]
push dword [esp + 8]
mov dword [esp + 0x1c], ebx
push ebx
push edi
mov dword [esp + 0x2c], eax
push eax
push edx
mov dword [esp + 0x50], ecx
call ecx
add esp, 0x18
cmp dword [esp + 0x84], 0
je 0x485fb0
mov eax, dword [esp + 0x88]
cmp dword [esp + 0x40], 0
mov dword [esp + 4], edi
mov edi, eax
je 0x486929
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], edi
cmp ecx, eax
mov dword [esp + 0x7c], eax
jb 0x4879a2
inc eax
cmp eax, edi
jb 0x4879a2
test edi, edi
je 0x486034
mov ebx, dword [ebp + 8]
lea eax, [edi - 1]
cmp ecx, eax
jbe 0x4866c9
mov dword [esp + 0x10], eax
mov eax, dword [esp]
mov dword [esp + 0x18], esi
mov ecx, dword [eax + 0x264]
mov esi, dword [eax + 0x260]
mov dword [esp + 8], ecx
mov ecx, dword [eax + 0x258]
or esi, dword [eax + 0x270]
mov edx, dword [esp + 8]
or ecx, dword [eax + 0x268]
or edx, dword [eax + 0x274]
or ecx, esi
mov esi, dword [eax + 0x25c]
mov dword [esp + 8], edx
or esi, dword [eax + 0x26c]
mov eax, dword [esp + 0x10]
or esi, dword [esp + 8]
or esi, ecx
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + eax]
movzx eax, cl
mov dword [esp + 0x10], eax
je 0x4868bc
mov eax, ecx
mov dword [esp + 0x110], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x104], 1
mov dword [esp + 0x100], 0
mov dword [esp + 0xfc], 0
mov dword [esp + 0xf8], 0
mov dword [esp + 0xf4], 0
mov byte [esp + 0x3c], cl
and al, 0x78
mov ch, byte [esp + 0x3c]
shr al, 3
neg al
movsx edx, al
mov esi, dword [esp + edx + 0x10c]
mov eax, dword [esp + edx + 0x110]
and ch, 7
mov dword [esp + 0x58], edx
mov cl, ch
shld eax, esi, cl
shl esi, cl
not cl
mov dword [esp + 8], eax
mov eax, dword [esp + edx + 0x108]
mov edx, eax
mov ebx, eax
mov eax, dword [esp + 0x10]
shr edx, 1
shr edx, cl
mov cl, ch
or edx, esi
mov esi, dword [esp + 0x58]
shr eax, 3
and eax, 0xfffffff0
mov esi, dword [esp + esi + 0x104]
shld ebx, esi, cl
shl esi, cl
mov ecx, dword [esp]
mov dword [esp + 0x70], ebx
add ecx, 0x258
mov dword [esp + 0x58], ecx
and edx, dword [ecx + eax + 8]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x58]
and ecx, dword [ebx + eax + 0xc]
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x58]
and ebx, dword [ecx + eax + 4]
and esi, dword [ecx + eax]
movzx eax, byte [esp + 0x3c]
or ebx, dword [esp + 8]
or esi, edx
or ebx, esi
mov ebx, dword [ebp + 8]
je 0x4868bc
mov esi, dword [esp + 0x18]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x4868fa
mov eax, dword [esp + 0x14]
xor esi, esi
cmp dword [eax + 0x154], 1
je 0x485f1b
and edx, 0x7ffffff
mov ecx, dword [esp + 0x1c]
shr edx, cl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x94]
cmp edx, eax
jae 0x4878ea
mov ecx, dword [ecx + 0x90]
mov eax, dword [ecx + edx*8 + 4]
test eax, eax
je 0x4877bf
mov ecx, dword [ecx + edx*8]
test byte [ecx + 8], 2
je 0x485f1b
cmp eax, 0xd
jb 0x48794e
add eax, 0xfffffff3
cmp eax, 3
jbe 0x4875a1
mov esi, dword [ecx + 0x15]
mov ebx, edi
mov edi, dword [ebp + 8]
mov eax, dword [edi + 0xb4]
cmp dword [edi + 0xb0], 0
mov dword [edi + 0xb0], 0
je 0x48793a
mov ecx, ebx
mov edx, ebx
sub ecx, eax
neg ecx
sub edx, eax
mov eax, dword [esp + 0x18]
cmovb edx, ecx
add dword [edi + 0x70], edx
mov dword [eax], 1
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
jmp 0x487538
mov al, 2
jmp 0x486071
test edx, 0x40000000
jne 0x485fef
test edx, 0x20000000
je 0x487a84
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.00487be0
mov edx, dword [esp + 0x40]
cmp edi, edx
jae 0x487055
movzx ecx, byte [esi + edi]
mov edx, edi
call fcn.00487c20
mov ecx, dword [esp + 0x18]
mov dword [ecx + 4], eax
mov dword [ecx], 2
jmp 0x487538
xor eax, eax
mov dword [esi], eax
jmp 0x487538
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.00487be0
jmp 0x484698
mov ecx, dword [esp]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x48]
push eax
push dword [esp + 0x3c]
push 0
call fcn.00536390
add esp, 0xc
jmp 0x48598e
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.00487be0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
jmp 0x487538
cmp edx, 0xd
jb 0x4879fc
mov ecx, dword [esp + 0x40]
add edx, 0xfffffff3
cmp edx, 3
ja 0x4874e2
jmp 0x487a0b
mov ebx, dword [ebp + 8]
mov al, 2
jmp 0x4868cc
mov ecx, dword [esp]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x48]
push eax
push dword [esp + 0x48]
push 0
call fcn.00536390
add esp, 0xc
jmp 0x485c68
mov eax, dword [esp + 0x3c]
mov ebx, dword [ebp + 8]
movzx eax, byte [esi + eax + 0x58]
mov edx, dword [ebx + 0x88]
movzx eax, al
cmp edx, eax
jbe 0x4877b3
mov ecx, dword [ebx + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x4872b5
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push edi
call fcn.00487ac0
add esp, 4
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x24]
je 0x4860ce
mov ecx, dword [esp + 0x18]
mov eax, 2
mov dword [ecx + 4], ebx
mov dword [ecx], eax
jmp 0x487538
mov esi, dword [ebp + 8]
cmp dword [esi + 0xb0], 1
jne 0x4860f4
mov eax, dword [esi + 0xb8]
mov ecx, dword [esi + 0xb4]
mov edx, eax
sub edx, ecx
neg edx
sub eax, ecx
cmovb eax, edx
add dword [esi + 0x70], eax
mov eax, dword [esp + 0xc]
mov dword [esi + 0xb0], 1
mov dword [esi + 0xb4], edi
mov dword [esi + 0xb8], edi
mov esi, dword [esp + 8]
cmp edi, eax
jae 0x486617
mov edx, eax
inc eax
mov dword [esp + 0x58], eax
mov eax, dword [esp]
lea ecx, [eax + 0x258]
mov eax, dword [eax + 0x27c]
mov dword [esp + 0x70], ecx
and eax, 0x1f
mov dword [esp + 0x68], eax
mov eax, edx
jmp 0x486152
mov edi, esi
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
inc edi
cmp edi, eax
jae 0x486617
cmp ebx, 0x7ffffff
jbe 0x4861c7
mov esi, dword [ebp + 8]
cmp dword [esi + 0xb0], 0
je 0x48790e
cmp edi, dword [esp + 0x14]
mov dword [esi + 0xb8], edi
jae 0x487852
mov eax, dword [esp + 8]
mov ecx, dword [esp]
movzx eax, byte [eax + edi]
movzx edx, byte [ecx + eax + 0x158]
mov ecx, ebx
and ecx, 0x7ffffff
add ecx, edx
mov edx, dword [esi + 0x7c]
cmp ecx, edx
jae 0x4877a9
mov edx, dword [esi + 0x78]
mov ecx, dword [edx + ecx*4]
test ecx, ecx
js 0x48656f
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov ebx, ecx
cmp ebx, 0x7ffffff
jbe 0x486149
jmp 0x486328
cmp edi, eax
jae 0x486149
mov ecx, dword [ebp + 8]
mov eax, dword [esp + 0xc]
mov edx, dword [ecx + 0x78]
mov ecx, dword [ecx + 0x7c]
mov dword [esp + 4], edx
mov dword [esp + 0x3c], ecx
movzx ecx, byte [esi + edi]
mov edx, dword [esp]
movzx ecx, byte [edx + ecx + 0x158]
mov edx, dword [esp + 4]
add ecx, ebx
mov ecx, dword [edx + ecx*4]
lea edx, [edi + 3]
cmp edx, eax
jae 0x48628c
cmp ecx, 0x8000000
jae 0x48628c
mov dword [esp + 0x10], edx
movzx edx, byte [esi + edi + 1]
mov esi, dword [esp]
mov eax, dword [esp + 4]
movzx edx, byte [esi + edx + 0x158]
add edx, ecx
mov ebx, dword [eax + edx*4]
cmp ebx, 0x7ffffff
ja 0x486294
mov ecx, dword [esp + 8]
mov edx, eax
movzx ecx, byte [ecx + edi + 2]
movzx ecx, byte [esi + ecx + 0x158]
add ecx, ebx
mov ecx, dword [edx + ecx*4]
cmp ecx, 0x7ffffff
ja 0x48629d
mov eax, edx
mov edx, dword [esp + 8]
movzx edx, byte [edx + edi + 3]
movzx edx, byte [esi + edx + 0x158]
add edx, ecx
mov ebx, dword [eax + edx*4]
cmp ebx, 0x7ffffff
ja 0x4862a8
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
add edi, 4
cmp edi, eax
jb 0x4861e4
jmp 0x486149
mov edx, ebx
mov dword [esp + 0x10], edi
jmp 0x4862b4
inc edi
mov edx, ecx
mov dword [esp + 0x10], edi
jmp 0x4862aa
add edi, 2
mov edx, ebx
mov dword [esp + 0x10], edi
jmp 0x4862ac
mov edx, ecx
mov ecx, ebx
mov esi, dword [esp + 8]
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x3c]
test ecx, ecx
js 0x4862d0
mov ebx, ecx
mov edi, dword [esp + 0x10]
cmp ebx, 0x7ffffff
jbe 0x486149
jmp 0x486328
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb0], 0
je 0x48790e
mov edi, esi
mov esi, dword [esp + 0x10]
mov dword [ecx + 0xb8], esi
mov ecx, edi
movzx edi, byte [edi + esi]
mov esi, ecx
mov ecx, dword [esp]
movzx ecx, byte [ecx + edi + 0x158]
add ecx, edx
cmp ecx, ebx
jae 0x4878f8
mov ebx, dword [esp + 4]
mov ebx, dword [ebx + ecx*4]
test ebx, ebx
js 0x4865d6
mov edi, dword [esp + 0x10]
cmp ebx, 0x7ffffff
jbe 0x486149
test ebx, 0x10000000
je 0x48701b
push eax
push edi
push dword [esp + 0x1c]
push esi
push dword [esp + 0x74]
lea eax, [esp + 0x98]
push eax
mov esi, edi
call dword [esp + 0x5c]
add esp, 0x18
cmp dword [esp + 0x84], 0
je 0x487061
mov edi, dword [esp + 0x88]
cmp edi, esi
jbe 0x48613f
cmp dword [esp + 0x40], 0
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
je 0x48614a
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], eax
cmp ecx, eax
jb 0x4879a2
cmp dword [esp + 0x58], edi
jb 0x4879a2
lea eax, [edi - 1]
cmp ecx, eax
jbe 0x4864ff
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
mov dword [esp + 4], ecx
mov ecx, dword [eax]
or ebx, dword [eax + 0x18]
mov edx, dword [esp + 4]
or ecx, dword [eax + 0x10]
or edx, dword [eax + 0x1c]
or ecx, ebx
mov ebx, dword [eax + 4]
mov dword [esp + 4], edx
or ebx, dword [eax + 0x14]
mov eax, dword [esp + 0x10]
or ebx, dword [esp + 4]
or ebx, ecx
movzx ecx, byte [esi + eax]
movzx eax, cl
mov dword [esp + 0x3c], eax
je 0x486509
mov eax, ecx
mov dword [esp + 0x150], 0
mov dword [esp + 0x14c], 0
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 1
mov dword [esp + 0x140], 0
mov dword [esp + 0x13c], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x134], 0
mov byte [esp + 0x60], cl
and al, 0x78
mov ch, byte [esp + 0x60]
shr al, 3
neg al
movsx eax, al
mov dword [esp + 0x80], eax
and ch, 7
mov ebx, dword [esp + eax + 0x14c]
mov eax, dword [esp + eax + 0x150]
mov cl, ch
shld eax, ebx, cl
shl ebx, cl
not cl
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x80]
mov edx, dword [esp + eax + 0x148]
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], edx
shr edx, 1
shr eax, 3
shr edx, cl
mov cl, ch
and eax, 0xfffffff0
or edx, ebx
mov ebx, dword [esp + 0x80]
mov ebx, dword [esp + ebx + 0x144]
shld dword [esp + 4], ebx, cl
shl ebx, cl
mov ecx, dword [esp + 0x70]
and edx, dword [ecx + eax + 8]
and ebx, dword [ecx + eax]
or ebx, edx
mov edx, dword [esp + 0x10]
and edx, dword [ecx + eax + 0xc]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 4]
and edx, dword [ecx + eax + 4]
movzx eax, byte [esp + 0x60]
mov dword [esp + 4], edx
mov ecx, dword [esp + 4]
or ecx, dword [esp + 0x10]
or ecx, ebx
je 0x486509
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x486546
mov esi, dword [ebp + 8]
mov ebx, dword [esp]
mov al, 2
jmp 0x486518
mov ebx, dword [esp]
mov eax, dword [esp + 0x3c]
mov esi, dword [ebp + 8]
movzx eax, byte [ebx + eax + 0x58]
mov edx, dword [esi + 0x88]
movzx eax, al
cmp edx, eax
jbe 0x4877b3
mov ecx, dword [esi + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x4865b2
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 5
mov esi, dword [esp + 8]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push edi
call fcn.00487ac0
add esp, 4
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x24]
jne 0x4860bb
mov eax, dword [esp + 0xc]
jmp 0x48614a
mov ecx, dword [esp]
shl eax, 8
mov edx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
push eax
call fcn.00535080
add esp, 4
test eax, eax
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
jne 0x4850ee
mov ebx, edx
cmp ebx, 0x7ffffff
jbe 0x486149
jmp 0x486328
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
lea ecx, [esp + 0x48]
lea edx, [esp + 0x20]
push eax
push dword [esp + 0x3c]
push 0
call fcn.00536390
add esp, 0xc
jmp 0x486542
mov eax, dword [esp]
shl edi, 8
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
push edi
call fcn.00535080
add esp, 4
test eax, eax
jne 0x487871
mov eax, dword [esp + 0xc]
mov ebx, edx
mov edi, dword [esp + 0x10]
cmp ebx, 0x7ffffff
jbe 0x486149
jmp 0x486328
cmp eax, dword [esp + 0x14]
jae 0x486676
movzx eax, byte [esi + eax]
mov ecx, dword [esp]
mov esi, dword [ebp + 8]
mov byte [esp + 4], al
movzx eax, al
movzx edx, byte [ecx + eax + 0x158]
mov ecx, ebx
and ecx, 0x7ffffff
add ecx, edx
mov edx, dword [esi + 0x7c]
cmp ecx, edx
jae 0x4877a9
mov edx, dword [esi + 0x78]
mov esi, dword [esp + 0x18]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x487660
test edx, 0x8000000
jne 0x4866d0
mov ebx, dword [ebp + 8]
test edx, 0x20000000
jne 0x4857c5
jmp 0x4866c2
mov eax, dword [esp]
mov edi, dword [ebp + 8]
mov ecx, ebx
mov esi, dword [esp + 0x18]
and ecx, 0x7ffffff
movzx eax, byte [eax + 0x257]
shl eax, 0x10
add eax, 0x10001
mov edx, eax
shr edx, 0x10
add ecx, edx
mov edx, dword [edi + 0x7c]
cmp ecx, edx
jae 0x487904
mov edx, dword [edi + 0x78]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x48768d
test edx, 0x8000000
jne 0x4866f8
mov ebx, dword [ebp + 8]
xor esi, esi
jmp 0x4870dd
mov al, 2
jmp 0x4868cc
mov eax, dword [esp + 0x1c]
xor edi, edi
mov ebx, dword [ebp + 8]
mov esi, 1
cmp dword [eax + 0x154], 1
jne 0x48707a
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], eax
jmp 0x4870dd
mov eax, dword [esp + 0x1c]
xor edi, edi
mov ebx, dword [ebp + 8]
mov esi, 1
cmp dword [eax + 0x154], 1
je 0x4870dd
mov eax, dword [esp]
and edx, 0x7ffffff
movzx ecx, byte [eax + 0x27c]
mov eax, dword [ebx + 0x94]
shr edx, cl
cmp edx, eax
jae 0x4878ea
mov ecx, dword [ebx + 0x90]
mov eax, dword [ecx + edx*8 + 4]
test eax, eax
je 0x4877bf
mov ecx, dword [ecx + edx*8]
test byte [ecx + 8], 2
je 0x4870dd
cmp eax, 0xd
jb 0x48794e
add eax, 0xfffffff3
cmp eax, 3
ja 0x4870da
jmp 0x4875a1
mov eax, dword [esp]
shl ebx, 8
mov edx, esi
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
push ebx
call fcn.00535080
add esp, 4
test eax, eax
je 0x487121
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov byte [eax], 1
jmp 0x4851d7
mov eax, dword [esp]
mov edx, esi
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
push ebx
call fcn.00535080
add esp, 4
test eax, eax
je 0x4871b8
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov byte [eax], 1
jmp 0x4851d7
mov eax, dword [esp]
shl esi, 8
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
push esi
call fcn.00535080
add esp, 4
test eax, eax
je 0x48744c
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov ecx, dword [esp + 0xc]
mov byte [eax], 1
mov esi, ebx
mov dword [eax + 4], ecx
jmp 0x485c87
mov eax, dword [esp]
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
push esi
call fcn.00535080
add esp, 4
test eax, eax
je 0x487540
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov ecx, dword [esp + 0x40]
mov byte [eax], 1
mov esi, ebx
mov dword [eax + 4], ecx
jmp 0x485c87
mov eax, dword [esp]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
movzx eax, byte [eax + ecx + 0x58]
mov edx, dword [ebx + 0x88]
movzx eax, al
cmp edx, eax
jbe 0x4877b3
mov ecx, dword [ebx + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x487561
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push edi
call fcn.00487ac0
add esp, 4
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x24]
je 0x486925
mov ecx, 2
mov dword [esi + 4], eax
mov dword [esi], ecx
jmp 0x487538
mov dword [esp + 8], eax
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0xb0], 1
jne 0x48694f
mov eax, dword [ebx + 0xb8]
mov ecx, dword [ebx + 0xb4]
mov edx, eax
sub edx, ecx
neg edx
sub eax, ecx
cmovb eax, edx
add dword [ebx + 0x70], eax
mov eax, dword [esp + 0xc]
mov dword [ebx + 0xb0], 1
mov dword [ebx + 0xb4], edi
mov dword [ebx + 0xb8], edi
cmp edi, eax
jae 0x486ec9
inc eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x18], esi
mov dword [esp + 0x70], eax
mov eax, dword [esp]
lea ecx, [eax + 0x258]
mov eax, dword [eax + 0x27c]
mov dword [esp + 0x3c], ecx
and eax, 0x1f
mov dword [esp + 0x90], eax
jmp 0x4869b9
mov dword [esp + 8], edi
mov edi, ebx
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x18]
inc edi
cmp edi, dword [esp + 0xc]
jae 0x486eea
mov ebx, edi
mov edi, dword [esp + 8]
cmp edi, 0x7ffffff
jbe 0x486a2a
mov dword [esp + 8], edi
mov edi, dword [ebp + 8]
cmp dword [edi + 0xb0], 0
je 0x48790e
cmp ebx, dword [esp + 0x14]
mov dword [edi + 0xb8], ebx
jae 0x4878da
mov eax, dword [esp + 4]
mov ecx, dword [esp]
movzx eax, byte [eax + ebx]
movzx edx, byte [ecx + eax + 0x158]
mov ecx, dword [esp + 8]
and ecx, 0x7ffffff
add ecx, edx
mov edx, dword [edi + 0x7c]
cmp ecx, edx
jae 0x4877a9
mov edx, dword [edi + 0x78]
mov ecx, dword [edx + ecx*4]
test ecx, ecx
js 0x486d92
mov edi, ebx
jmp 0x486b5b
cmp ebx, dword [esp + 0xc]
jae 0x486ebb
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0xc]
mov esi, dword [ecx + 0x78]
mov eax, dword [ecx + 0x7c]
mov dword [esp + 0x58], eax
mov dword [esp + 8], esi
mov ecx, dword [esp + 4]
mov esi, dword [esp]
mov eax, dword [esp + 8]
movzx ecx, byte [ecx + ebx]
movzx ecx, byte [esi + ecx + 0x158]
add ecx, edi
mov ecx, dword [eax + ecx*4]
lea eax, [ebx + 3]
cmp eax, edx
jae 0x486ae5
cmp ecx, 0x8000000
jae 0x486ae5
mov edi, dword [esp + 4]
mov dword [esp + 0x10], eax
mov eax, dword [esp]
mov esi, dword [esp + 8]
movzx edx, byte [edi + ebx + 1]
movzx edx, byte [eax + edx + 0x158]
add edx, ecx
mov edx, dword [esi + edx*4]
cmp edx, 0x7ffffff
ja 0x486aeb
movzx ecx, byte [edi + ebx + 2]
movzx ecx, byte [eax + ecx + 0x158]
add ecx, edx
mov ecx, dword [esi + ecx*4]
cmp ecx, 0x7ffffff
ja 0x486af4
movzx edx, byte [edi + ebx + 3]
movzx edx, byte [eax + edx + 0x158]
add edx, ecx
mov edi, dword [esi + edx*4]
cmp edi, 0x7ffffff
ja 0x486afd
mov edx, dword [esp + 0xc]
add ebx, 4
cmp ebx, edx
jb 0x486a49
jmp 0x4869a1
mov eax, edi
mov edi, ebx
jmp 0x486b05
inc ebx
mov eax, ecx
mov ecx, edx
mov edi, ebx
jmp 0x486b05
add ebx, 2
mov eax, edx
mov edi, ebx
jmp 0x486b05
mov eax, ecx
mov ecx, edi
mov edi, dword [esp + 0x10]
mov ebx, dword [ebp + 8]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x58]
test ecx, ecx
jns 0x486b5e
cmp dword [ebx + 0xb0], 0
je 0x48790e
mov ecx, dword [esp + 4]
mov dword [ebx + 0xb8], edi
movzx esi, byte [ecx + edi]
mov ecx, dword [esp]
movzx ecx, byte [ecx + esi + 0x158]
add ecx, eax
cmp ecx, edx
jae 0x4877a9
mov ebx, eax
mov eax, dword [esp + 8]
mov eax, dword [eax + ecx*4]
test eax, eax
js 0x486dea
mov esi, dword [esp + 0x18]
mov ecx, eax
mov ebx, dword [ebp + 8]
cmp ecx, 0x7ffffff
mov dword [esp + 8], ecx
jbe 0x4869ae
test ecx, 0x10000000
je 0x486e30
push dword [esp + 0xc]
push edi
push dword [esp + 0x1c]
push dword [esp + 0x10]
push dword [esp + 0x2c]
lea eax, [esp + 0x98]
push eax
call dword [esp + 0x50]
add esp, 0x18
cmp dword [esp + 0x84], 0
je 0x486ed3
mov ebx, dword [esp + 0x88]
cmp ebx, edi
jbe 0x486ec1
cmp dword [esp + 0x40], 0
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 8]
je 0x486d83
mov eax, dword [esp + 0xc]
mov dword [esp + 0x78], ebx
cmp dword [esp + 0x14], eax
mov dword [esp + 0x7c], eax
jb 0x487989
cmp dword [esp + 0x70], ebx
jb 0x487989
lea eax, [ebx - 1]
cmp dword [esp + 0x14], eax
jbe 0x486d22
mov edi, ecx
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov esi, dword [edi + 8]
or ecx, dword [edi + 0x10]
or edx, dword [edi + 0x1c]
or esi, dword [edi + 0x18]
or ecx, esi
mov esi, dword [edi + 4]
or esi, dword [edi + 0x14]
or esi, edx
or esi, ecx
mov ecx, dword [esp + 4]
movzx ecx, byte [ecx + eax]
movzx eax, cl
mov dword [esp + 8], eax
je 0x486d26
mov eax, ecx
mov dword [esp + 0xf0], 0
mov dword [esp + 0xec], 0
mov dword [esp + 0xe8], 0
mov dword [esp + 0xe4], 1
mov dword [esp + 0xe0], 0
mov dword [esp + 0xdc], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd4], 0
mov byte [esp + 0x10], cl
and al, 0x78
mov ch, byte [esp + 0x10]
shr al, 3
neg al
movsx edx, al
mov edi, dword [esp + edx + 0xec]
mov eax, dword [esp + edx + 0xf0]
and ch, 7
mov dword [esp + 0x80], edx
mov cl, ch
shld eax, edi, cl
shl edi, cl
not cl
mov dword [esp + 0x58], eax
mov eax, dword [esp + 8]
mov esi, dword [esp + edx + 0xe8]
shr eax, 3
mov edx, esi
and eax, 0xfffffff0
shr edx, 1
shr edx, cl
mov cl, ch
or edx, edi
mov edi, dword [esp + 0x80]
mov edi, dword [esp + edi + 0xe4]
shld esi, edi, cl
shl edi, cl
mov ecx, dword [esp + 0x3c]
and edx, dword [ecx + eax + 8]
and edi, dword [ecx + eax]
or edi, edx
mov edx, ecx
mov ecx, dword [esp + 0x58]
and esi, dword [edx + eax + 4]
and ecx, dword [edx + eax + 0xc]
or esi, ecx
or esi, edi
je 0x486d26
movzx eax, byte [esp + 0x10]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x486d63
mov al, 2
jmp 0x486d36
mov eax, dword [esp]
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x18]
movzx eax, byte [eax + ecx + 0x58]
mov ecx, dword [ebp + 8]
movzx eax, al
mov edx, dword [ecx + 0x88]
cmp edx, eax
jbe 0x4877b3
mov ecx, dword [ecx + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x486dc0
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push ebx
call fcn.00487ac0
add esp, 4
cmp dword [esp + 0x20], 0
mov edi, dword [esp + 0x24]
jne 0x4872a7
cmp ebx, dword [esp + 0xc]
jb 0x4869bf
jmp 0x486ee3
mov ecx, dword [esp]
mov edx, dword [esp + 8]
shl eax, 8
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
push eax
call fcn.00535080
add esp, 4
test eax, eax
jne 0x4877db
mov edi, ebx
jmp 0x486e16
mov ecx, dword [esp]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x48]
push eax
push dword [esp + 0x48]
push 0
call fcn.00536390
add esp, 0xc
jmp 0x486d63
mov eax, dword [esp]
shl esi, 8
mov edx, ebx
lea ecx, [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x24], eax
push esi
call fcn.00535080
add esp, 4
test eax, eax
jne 0x4878a4
mov esi, dword [esp + 0x18]
mov ebx, dword [ebp + 8]
mov ecx, edx
cmp ecx, 0x7ffffff
mov dword [esp + 8], ecx
ja 0x486b6e
jmp 0x4869ae
test dword [esp + 8], 0x8000000
je 0x487804
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], 1
mov dword [esp + 0x68], 0
cmp dword [eax + 0x154], 1
je 0x486eb2
mov eax, dword [esp + 8]
mov edx, dword [ebx + 0x94]
mov ecx, dword [esp + 0x90]
and eax, 0x7ffffff
shr eax, cl
cmp eax, edx
jae 0x487922
mov ecx, dword [ebx + 0x90]
mov edx, dword [ecx + eax*8 + 4]
test edx, edx
je 0x4877bf
mov eax, dword [ecx + eax*8]
test byte [eax + 8], 2
je 0x486eb2
cmp edx, 0xd
jb 0x4879fc
add edx, 0xfffffff3
cmp edx, 3
jbe 0x487a0b
mov eax, dword [eax + 0x15]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edi
jmp 0x4869ae
mov dword [esp + 8], edi
mov edi, ebx
mov ebx, dword [ebp + 8]
jmp 0x4869ae
mov dword [esp + 0x60], 0
jmp 0x486eea
mov edx, dword [esp + 0xc]
mov ecx, ebx
call fcn.00487be0
jmp 0x4873ef
mov ebx, dword [ebp + 8]
mov dword [esp + 8], edi
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x14]
jae 0x486f7d
mov ecx, dword [esp + 4]
mov edi, ebx
movzx ebx, byte [ecx + eax]
mov ecx, dword [esp]
movzx eax, bl
movzx edx, byte [ecx + eax + 0x158]
mov ecx, dword [esp + 8]
and ecx, 0x7ffffff
add ecx, edx
mov edx, dword [edi + 0x7c]
cmp ecx, edx
jae 0x4877a9
mov edx, dword [edi + 0x78]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x487703
test edx, 0x8000000
jne 0x486fed
test edx, 0x20000000
je 0x4873bd
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov ecx, dword [esp + 0xc]
mov byte [eax], 0
mov byte [eax + 1], bl
mov dword [eax + 4], ecx
jmp 0x485c87
mov eax, dword [esp]
mov edi, dword [esp + 8]
movzx eax, byte [eax + 0x257]
mov ecx, edi
and ecx, 0x7ffffff
shl eax, 0x10
add eax, 0x10001
mov edx, eax
shr edx, 0x10
add ecx, edx
mov edx, dword [ebx + 0x7c]
cmp ecx, edx
jae 0x487904
mov edx, dword [ebx + 0x78]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x48775a
test edx, 0x8000000
je 0x4873bd
mov eax, dword [esp + 0x64]
cmp dword [eax + 0x154], 1
jne 0x4872dc
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], 1
jmp 0x48732e
mov eax, dword [esp + 0x64]
cmp dword [eax + 0x154], 1
jne 0x48733b
mov eax, dword [esp + 0xc]
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], 1
mov dword [esp + 0x6c], eax
jmp 0x4873bd
test ebx, 0x8000000
jne 0x48742f
test ebx, 0x40000000
jne 0x4875b2
test ebx, 0x20000000
je 0x487a84
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.00487be0
mov edx, dword [esp + 0x14]
cmp edi, edx
jb 0x485f93
mov ecx, edi
push 0x54cf90
call fcn.00532ca0
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0xc]
call fcn.00487be0
mov ecx, dword [esp + 0x18]
xor eax, eax
mov dword [ecx], eax
jmp 0x487538
mov eax, dword [esp]
and edx, 0x7ffffff
movzx ecx, byte [eax + 0x27c]
mov eax, dword [ebx + 0x94]
shr edx, cl
cmp edx, eax
jae 0x4878ea
mov ecx, dword [ebx + 0x90]
mov eax, dword [ecx + edx*8 + 4]
test eax, eax
je 0x4877bf
mov ecx, dword [ecx + edx*8]
mov edx, dword [esp + 0xc]
test byte [ecx + 8], 2
mov dword [esp + 0x14], edx
je 0x4870dd
cmp eax, 0xd
jb 0x48794e
mov edx, dword [esp + 0xc]
add eax, 0xfffffff3
cmp eax, 3
mov dword [esp + 0x14], edx
jbe 0x4875a1
mov edi, dword [ecx + 0x15]
mov eax, dword [ebx + 0xb4]
cmp dword [ebx + 0xb0], 0
mov dword [ebx + 0xb0], 0
je 0x48793a
mov edx, dword [esp + 0xc]
mov ecx, edx
sub ecx, eax
neg ecx
sub edx, eax
mov eax, dword [esp + 0x18]
cmovb edx, ecx
mov ecx, dword [esp + 0x14]
add dword [ebx + 0x70], edx
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], ecx
jmp 0x487538
mov edi, edx
test edi, 0x8000000
je 0x485197
mov ecx, dword [esp + 0x14]
xor esi, esi
mov ebx, dword [ebp + 8]
mov eax, 1
cmp dword [ecx + 0x154], 1
jne 0x487153
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
jmp 0x487235
mov ecx, dword [esp]
mov edx, dword [ebx + 0x94]
and edi, 0x7ffffff
movzx ecx, byte [ecx + 0x27c]
shr edi, cl
cmp edi, edx
jae 0x487898
mov ecx, dword [ebx + 0x90]
mov edx, dword [ecx + edi*8 + 4]
test edx, edx
je 0x4877bf
mov ecx, dword [ecx + edi*8]
mov edi, dword [esp + 0xc]
test byte [ecx + 8], 2
mov dword [esp + 0x10], edi
je 0x487235
cmp edx, 0xd
jb 0x4879fc
mov eax, dword [esp + 0xc]
add edx, 0xfffffff3
cmp edx, 3
mov dword [esp + 0x10], eax
ja 0x48722d
jmp 0x487a0b
mov edi, edx
test edi, 0x8000000
je 0x485713
mov ecx, dword [esp + 0x14]
xor esi, esi
mov ebx, dword [ebp + 8]
mov eax, 1
cmp dword [ecx + 0x154], 1
je 0x487235
mov ecx, dword [esp]
mov edx, dword [ebx + 0x94]
and edi, 0x7ffffff
movzx ecx, byte [ecx + 0x27c]
shr edi, cl
cmp edi, edx
jae 0x487898
mov ecx, dword [ebx + 0x90]
mov edx, dword [ecx + edi*8 + 4]
test edx, edx
je 0x4877bf
mov ecx, dword [ecx + edi*8]
test byte [ecx + 8], 2
je 0x487235
cmp edx, 0xd
jb 0x4879fc
add edx, 0xfffffff3
cmp edx, 3
jbe 0x487a0b
mov esi, dword [ecx + 0x15]
mov eax, 1
mov ecx, dword [ebx + 0xb4]
cmp dword [ebx + 0xb0], 0
mov dword [ebx + 0xb0], 0
je 0x48793a
mov edi, dword [esp + 0xc]
mov edx, edi
sub edx, ecx
neg edx
sub edi, ecx
cmovb edi, edx
mov edx, dword [esp + 0x10]
add dword [ebx + 0x70], edi
mov edi, dword [esp + 0x18]
mov dword [edi], eax
mov dword [edi + 4], esi
mov dword [edi + 8], edx
jmp 0x487538
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x487993
mov edx, dword [esp + 4]
mov byte [eax], 1
jmp 0x4851d7
mov dword [esi + 4], edi
mov dword [esi], 2
jmp 0x487538
mov ecx, dword [esp]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x48]
push eax
push dword [esp + 0x3c]
push 0
call fcn.00536390
add esp, 0xc
jmp 0x48609f
mov eax, dword [esp]
and edx, 0x7ffffff
movzx ecx, byte [eax + 0x27c]
shr edx, cl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x94]
cmp edx, eax
jae 0x4878ea
mov ecx, dword [ecx + 0x90]
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], 1
mov eax, dword [ecx + edx*8 + 4]
test eax, eax
je 0x4877bf
mov ecx, dword [ecx + edx*8]
test byte [ecx + 8], 2
jne 0x487588
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
jmp 0x4873bd
mov eax, dword [esp]
and edx, 0x7ffffff
movzx ecx, byte [eax + 0x27c]
shr edx, cl
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x94]
cmp edx, eax
jae 0x4878ea
mov ecx, dword [ecx + 0x90]
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], 1
mov eax, dword [ecx + edx*8 + 4]
test eax, eax
je 0x4877bf
mov ecx, dword [ecx + edx*8]
mov edx, dword [esp + 0xc]
test byte [ecx + 8], 2
mov dword [esp + 0x6c], edx
je 0x4873bd
cmp eax, 0xd
jb 0x48794e
mov edx, dword [esp + 0xc]
add eax, 0xfffffff3
cmp eax, 3
jbe 0x4875a1
mov eax, dword [ecx + 0x15]
mov dword [esp + 0x60], 1
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], eax
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb4]
cmp dword [edx + 0xb0], 0
mov dword [edx + 0xb0], 0
je 0x48793a
mov edi, dword [esp + 0xc]
mov ecx, edi
sub ecx, eax
neg ecx
sub edi, eax
cmovb edi, ecx
add dword [edx + 0x70], edi
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esi], eax
jmp 0x487532
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov ecx, dword [esp + 4]
mov byte [eax], 1
mov dword [eax + 4], ecx
jmp 0x485f9e
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov esi, edi
cmp dword [ecx + 0x154], 1
jne 0x4875cb
mov edi, dword [ebp + 8]
jmp 0x48761e
mov edi, edx
test edi, 0x8000000
mov esi, ebx
je 0x4857b6
mov eax, dword [esp + 0x38]
mov ebx, dword [ebp + 8]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x44], 0
cmp dword [eax + 0x154], 1
jne 0x487486
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
jmp 0x4874f5
mov eax, dword [esp]
mov edx, dword [ebx + 0x94]
and edi, 0x7ffffff
movzx ecx, byte [eax + 0x27c]
shr edi, cl
cmp edi, edx
jae 0x487898
mov eax, dword [ebx + 0x90]
mov edx, dword [eax + edi*8 + 4]
test edx, edx
je 0x4877bf
mov eax, dword [eax + edi*8]
mov ecx, dword [esp + 0xc]
test byte [eax + 8], 2
mov dword [esp + 0x3c], ecx
je 0x4874f5
cmp edx, 0xd
jb 0x4879fc
mov ecx, dword [esp + 0xc]
add edx, 0xfffffff3
cmp edx, 3
jbe 0x487a0b
mov eax, dword [eax + 0x15]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x44], eax
mov eax, dword [ebx + 0xb4]
cmp dword [ebx + 0xb0], 0
mov dword [ebx + 0xb0], 0
je 0x48793a
mov edx, dword [esp + 0xc]
mov ecx, edx
sub ecx, eax
neg ecx
sub edx, eax
cmovb edx, ecx
mov ecx, dword [esp + 0x1c]
add dword [ebx + 0x70], edx
mov edx, dword [esp + 0x44]
mov dword [esi], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esi + 4], edx
mov dword [esi + 8], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, edx
mov esi, ebx
mov ebx, dword [ebp + 8]
test edi, 0x8000000
jne 0x485849
jmp 0x4874f5
mov edx, eax
push 0x54c9c8
call fcn.00532ca0
mov ecx, dword [esp]
lea edx, [esp + 0x20]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x48]
push eax
push dword [esp + 0x48]
push 0
call fcn.00536390
add esp, 0xc
jmp 0x4868fa
mov edx, dword [esp + 0x14]
cmp eax, 0xd
jb 0x48794e
add eax, 0xfffffff3
cmp eax, 3
ja 0x4873aa
mov ecx, 4
mov edx, eax
push 0x54f4ac
call fcn.00532d00
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.00487be0
mov eax, dword [esp + 0x18]
mov dword [eax], 0
jmp 0x487538
and ebx, 0x7ffffff
mov ecx, dword [esp + 0x68]
shr ebx, cl
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x94]
cmp ebx, edx
jae 0x48792e
mov ecx, dword [ecx + 0x90]
mov edx, dword [ecx + ebx*8 + 4]
test edx, edx
je 0x4877bf
mov ecx, dword [ecx + ebx*8]
mov edi, dword [ebp + 8]
test byte [ecx + 8], 2
je 0x48761e
cmp edx, 0xd
jb 0x4879fc
add edx, 0xfffffff3
cmp edx, 3
jbe 0x487a0b
mov eax, dword [ecx + 0x15]
mov ecx, dword [edi + 0xb4]
cmp dword [edi + 0xb0], 0
mov dword [edi + 0xb0], 0
je 0x48793a
mov edx, esi
mov ebx, esi
sub edx, ecx
neg edx
sub esi, ecx
mov ecx, dword [esp + 0x18]
cmovb esi, edx
add dword [edi + 0x70], esi
mov dword [ecx], 1
mov dword [ecx + 4], eax
mov dword [ecx + 8], ebx
jmp 0x487538
mov ecx, dword [esp]
shl eax, 8
mov edx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
push eax
call fcn.00535080
add esp, 4
test eax, eax
jne 0x48772d
jmp 0x48665d
mov ecx, dword [esp]
mov edx, ebx
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
push eax
call fcn.00535080
add esp, 4
test eax, eax
je 0x4866b7
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x487993
mov byte [eax], 1
mov dword [eax + 4], ecx
jmp 0x485c87
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
push 0x54cf24
call fcn.00532ca0
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x40]
push 0x54cf24
call fcn.00532ca0
mov ecx, dword [esp]
mov edx, dword [esp + 8]
shl eax, 8
mov dword [esp + 0x20], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
push eax
call fcn.00535080
add esp, 4
test eax, eax
je 0x486f35
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov ecx, dword [esp + 0xc]
mov byte [eax], 1
mov dword [eax + 4], ecx
jmp 0x485c87
mov ecx, dword [esp]
mov edx, edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], ebx
lea ecx, [esp + 0x20]
push eax
call fcn.00535080
add esp, 4
test eax, eax
je 0x486fbb
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov ecx, dword [esp + 0x14]
mov byte [eax], 1
mov dword [eax + 4], ecx
jmp 0x485c87
push 0x54c9c8
call fcn.00532ca0
mov ecx, eax
push 0x54ccf4
call fcn.00532ca0
xor ecx, ecx
xor edx, edx
push 0x54f560
call fcn.00532ca0
mov ecx, edi
mov edx, eax
push 0x54cd04
call fcn.00532ca0
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov byte [eax], 1
mov dword [eax + 4], ebx
jmp 0x485c87
test dword [esp + 8], 0x40000000
jne 0x487862
test dword [esp + 8], 0x20000000
je 0x487a84
mov ecx, dword [ebp + 8]
mov edx, edi
mov ebx, edi
call fcn.00487be0
cmp edi, dword [esp + 0x14]
jae 0x487a74
mov eax, dword [esp + 4]
mov edx, edi
movzx ecx, byte [eax + edi]
call fcn.00487c20
jmp 0x485c87
mov edx, eax
push 0x54c9d8
call fcn.00532ca0
mov ecx, edi
mov edx, dword [esp + 0x14]
push 0x54cf24
call fcn.00532ca0
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.00487be0
jmp 0x4873ef
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov ecx, dword [esp + 0x10]
jmp 0x487424
mov ecx, edi
push 0x54cd04
call fcn.00532ca0
movzx eax, byte [0x5a11e8]
mov ecx, 0xc
mov edx, 4
call fcn.004329c0
test eax, eax
je 0x487993
mov ebx, dword [esp + 0x18]
mov byte [eax], 1
mov dword [eax + 4], edi
mov dword [ebx + 4], eax
mov dword [ebx], 2
jmp 0x487538
mov ecx, ebx
mov edx, dword [esp + 0x14]
push 0x54cf24
call fcn.00532ca0
mov ecx, edx
mov edx, eax
push 0x54cd04
call fcn.00532ca0
mov edx, ebx
push 0x54c9c8
call fcn.00532ca0
push 0x54c9d8
call fcn.00532ca0
mov ecx, str.no_in_progress_search_to_update
mov edx, 0x1f
push 0x54ca6c
call fcn.005330a0
mov ecx, eax
push 0x54cd04
call fcn.00532ca0
mov ecx, ebx
push 0x54cd04
call fcn.00532ca0
mov ecx, str.no_in_progress_search_to_finish
mov edx, 0x1f
push 0x54ca9c
call fcn.005330a0
mov ecx, 0xd
mov edx, eax
push 0x54f590
call fcn.00532c40
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], 0
lea eax, [esp + 0x20]
mov ecx, str.called__Result::unwrap____on_an__Err__value
mov edx, 0x2b
push 0x54cd14
push 0x54badc
push eax
call fcn.00533020
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], eax
jmp 0x4879a6
mov ecx, 4
mov edx, 0xc
call fcn.00531970
mov dword [esp + 0x74], ecx
lea eax, [esp + 0x78]
lea edx, [esp + 0x74]
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], 0x54b7e4
mov dword [esp + 0x24], 2
mov dword [esp + 0x30], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0x447870
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], 0x453930
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x20]
mov edx, 0x54f7d4
mov dword [esp + 0x2c], 2
call fcn.00532c10
mov ecx, 0xd
push 0x54f590
call fcn.00532c40
mov ecx, 4
push 0x54f4ac
call fcn.00532d00
mov eax, dword [esp + 0x14]
lea esi, [esp + 0x78]
lea edx, [esp + 0x74]
mov dword [esp + 0x20], 0x54b7e4
mov dword [esp + 0x24], 2
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], 0x447870
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], 0x453930
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x20]
mov edx, 0x54f7d4
mov dword [esp + 0x2c], 2
call fcn.00532c10
mov edx, dword [esp + 0x14]
mov ecx, edi
push 0x54cf90
call fcn.00532ca0
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x20]
mov edx, 0x54cf80
mov dword [esp + 0x20], 0x54cf78
mov dword [esp + 0x24], 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
call fcn.00532c10
int3