Function at 0x43bf30
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 0x43bf63
mov dword [esi], 0
jmp 0x43edf8
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 0x43bf93
mov ecx, dword [esp]
cmp byte [ecx + 0x4c], 3
lea eax, [ecx + 0x40]
mov ecx, 0x4e4754
cmovne ecx, eax
cmp byte [ecx + 0xc], 2
jne 0x43c2bc
cmp byte [edx + 0x18], 0
je 0x43c137
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 0x43c11e
mov eax, dword [esp + 4]
dec eax
cmp dword [edx + 0xc], eax
jbe 0x43c11e
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x43c11e
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 0x43c654
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 0x43c654
movzx eax, byte [esp + 0x10]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x43c6a2
mov edi, dword [edx + 4]
mov al, 2
mov edx, dword [esp + 8]
movzx ecx, al
test edx, edx
jne 0x43c66b
jmp 0x43c677
mov eax, dword [esp]
cmp dword [esp + 4], 0
mov eax, dword [eax + 0x278]
mov dword [esp + 0x38], eax
je 0x43c473
mov eax, dword [esp + 4]
dec eax
cmp dword [edx + 0xc], eax
jbe 0x43c473
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x43c473
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 0x43cae8
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 0x43cae8
movzx eax, byte [esp + 0x10]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x43cb36
cmp byte [edx + 0x18], 0
mov dword [esp + 0x10], ecx
je 0x43c4ab
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 0x43c48c
mov eax, dword [esp + 4]
dec eax
cmp dword [edx + 0xc], eax
jbe 0x43c48c
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x43c48c
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 0x43d217
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 0x43d217
movzx eax, byte [esp + 8]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x43d24e
mov edi, dword [edx + 4]
mov al, 2
mov edx, dword [esp + 8]
movzx ecx, al
test edx, edx
jne 0x43caff
jmp 0x43cb0b
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 0x43d231
jmp 0x43f073
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 0x43cac9
mov eax, dword [esp + 4]
dec eax
cmp dword [edx + 0xc], eax
jbe 0x43cac9
mov ecx, dword [edx + 8]
test ecx, ecx
je 0x43cac9
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 0x43d4f1
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 0x43d4f1
movzx eax, byte [esp + 8]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x43d528
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 0x43c677
cmp edx, 1
jne 0x43c9db
add ecx, 6
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jae 0x43d002
mov edx, dword [ebx + 0x84]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x43d1ee
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push dword [esp + 4]
call fcn.0043f380
add esp, 4
cmp dword [esp + 0x20], 0
mov esi, dword [esp + 0x24]
je 0x43c6d3
mov eax, dword [esp + 0x18]
mov dword [eax + 4], esi
mov dword [eax], 2
jmp 0x43edf8
cmp dword [ebx + 0xb0], 1
jne 0x43c6f6
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 0x43c9f9
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 0x43c763
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 0x43cf75
cmp esi, 0x7ffffff
jbe 0x43c7e0
cmp dword [ebx + 0xb0], 0
je 0x43f1ce
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x10]
mov dword [ebx + 0xb8], eax
jae 0x43ef9f
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 0x43ee15
mov eax, dword [edx + 0x78]
mov edx, dword [eax + ecx*4]
test edx, edx
js 0x43c95e
mov edi, dword [esp + 4]
jmp 0x43c940
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0xc]
jae 0x43c8c0
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 0x43c8c9
cmp edx, 0x8000000
jae 0x43c8c9
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 0x43c8d6
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 0x43c8e3
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 0x43c8f0
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 0x43c800
jmp 0x43c74a
mov ebx, dword [esp + 0xc]
jmp 0x43c74a
mov edi, dword [esp + 4]
mov ebx, dword [esp]
mov dword [esp + 0x38], esi
jmp 0x43c8f6
mov edi, dword [esp + 4]
mov dword [esp + 0x38], edx
mov edx, ecx
inc edi
jmp 0x43c8fa
mov edi, dword [esp + 4]
mov dword [esp + 0x38], ecx
add edi, 2
jmp 0x43c8fa
mov dword [esp + 0x38], edx
mov edx, esi
mov esi, dword [esp + 8]
test edx, edx
jns 0x43c940
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb0], 0
je 0x43f1ce
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 0x43f069
mov edx, dword [eax + ecx*4]
test edx, edx
js 0x43c98b
nop word [eax + eax]
cmp edx, 0x8000000
jb 0x43c740
mov eax, edx
and eax, 0x10000000
jne 0x43c740
jmp 0x43d172
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.004d9b90
add esp, 4
test eax, eax
je 0x43c7c8
jmp 0x43eb39
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.004d9b90
add esp, 4
test eax, eax
je 0x43c940
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov ecx, dword [esp + 0x18]
mov byte [eax], 1
mov dword [eax + 4], edi
jmp 0x43d862
mov edx, dword [esp]
test byte [edx + 0x51], 1
jne 0x43ca9f
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], edi
jmp 0x43c6a2
mov edx, dword [eax + 0xc]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], edx
cmp ecx, edx
jae 0x43cf89
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 0x43ee15
mov eax, dword [edx + 0x78]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x43e02c
test edi, 0x8000000
jne 0x43e9ef
mov ebx, dword [ebp + 8]
test edi, 0x20000000
je 0x43cfd6
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc]
test eax, eax
je 0x43f253
movzx ebx, byte [esp + 4]
mov byte [eax], 0
mov byte [eax + 1], bl
mov dword [eax + 4], edx
jmp 0x43d862
mov edx, dword [esp + 0x14]
cmp dword [edx + 0x154], edi
jbe 0x43d1c4
lea edx, [edi + edi*2]
lea ecx, [ecx + edx*2 + 0xc]
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jb 0x43c685
jmp 0x43d002
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 0x43d50b
jmp 0x43f073
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 0x43cb0b
cmp edx, 1
jne 0x43cf44
add ecx, 6
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jae 0x43d002
mov edx, dword [ebx + 0x84]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x43d4c8
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], 5
lea edx, [esp + 0x48]
lea ecx, [esp + 0x20]
push dword [esp + 4]
call fcn.0043f380
add esp, 4
cmp dword [esp + 0x20], 0
mov edx, dword [esp + 0x24]
je 0x43cb63
mov dword [esi + 4], edx
mov dword [esi], 2
jmp 0x43edf8
cmp dword [ebx + 0xb0], 1
jne 0x43cb8d
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 0x43cf62
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 0x43cbf8
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 0x43d00c
cmp edx, 0x7ffffff
jbe 0x43cc80
cmp dword [ebx + 0xb0], 0
je 0x43f1ce
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0x40]
mov dword [ebx + 0xb8], eax
jae 0x43efb1
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 0x43ee15
mov eax, dword [ebx + 0x78]
mov eax, dword [eax + ecx*4]
test eax, eax
js 0x43cec4
mov edi, dword [esp + 4]
mov edx, eax
mov ebx, dword [esp + 0xc]
mov esi, dword [esp + 8]
cmp edx, 0x8000000
jae 0x43cdf0
jmp 0x43cbe8
mov eax, dword [esp + 4]
cmp eax, dword [esp + 0xc]
jae 0x43cbe0
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 0x43cd5e
cmp ecx, 0x8000000
jae 0x43cd5e
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 0x43cdc3
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 0x43cdca
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 0x43cea3
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 0x43cca0
mov edi, dword [esp + 4]
jmp 0x43cbe8
mov esi, dword [esp + 8]
mov eax, edx
mov edx, dword [esp + 0x64]
test ecx, ecx
jns 0x43cddd
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb0], 0
je 0x43f1ce
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 0x43f069
mov eax, dword [esp + 0x10]
mov edx, dword [eax + ecx*4]
test edx, edx
js 0x43cef3
mov edi, dword [esp + 0x14]
cmp edx, 0x8000000
jae 0x43cdf0
jmp 0x43cbe8
mov eax, ecx
inc edi
mov ecx, edx
jmp 0x43cdcf
add edi, 2
mov eax, edx
mov esi, ebx
mov ebx, dword [esp + 0xc]
mov edx, dword [esp + 0x64]
test ecx, ecx
js 0x43cd6c
mov edx, ecx
cmp edx, 0x8000000
jb 0x43cbe8
nop dword [eax + eax]
mov eax, edx
and eax, 0x10000000
jne 0x43cbe8
test edx, 0x8000000
je 0x43d829
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x44], 0
cmp dword [eax + 0x154], 1
jne 0x43ce2f
mov dword [esp + 0x3c], edi
jmp 0x43cbe8
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 0x43f08d
mov ecx, dword [ecx + 0x90]
mov eax, dword [ecx + edi*8 + 4]
test eax, eax
je 0x43f07f
mov ecx, dword [ecx + edi*8]
test byte [ecx + 8], 2
jne 0x43ce7a
mov edi, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
jmp 0x43cbe8
mov edi, dword [esp + 0x14]
cmp eax, 0xd
jb 0x43f20e
add eax, 0xfffffff3
cmp eax, 3
jbe 0x43ee61
mov eax, dword [ecx + 0x15]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], eax
jmp 0x43cbe8
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 0x43cddd
jmp 0x43cd6c
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.004d9b90
add esp, 4
test eax, eax
jne 0x43ecc2
mov edi, dword [esp + 4]
jmp 0x43cc61
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.004d9b90
add esp, 4
test eax, eax
je 0x43cdb2
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov ecx, dword [esp + 0x14]
jmp 0x43ece4
mov edx, dword [esp]
test byte [edx + 0x51], 1
jne 0x43cfdd
mov dword [esp + 0x48], 2
mov dword [esp + 0x4c], edi
jmp 0x43cb36
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x1c], 0
mov edi, dword [eax + 0xc]
jmp 0x43d014
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], edx
cmp ecx, edx
jb 0x43ca0c
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 0x43f106
mov eax, dword [edx + 0x78]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x43e082
test edi, 0x8000000
jne 0x43ea86
mov ebx, dword [ebp + 8]
xor eax, eax
jmp 0x43eaf5
mov edx, dword [esp + 0x38]
cmp dword [edx + 0x154], edi
jbe 0x43d49e
lea edx, [edi + edi*2]
lea ecx, [ecx + edx*2 + 0xc]
mov edx, dword [ebx + 0x88]
cmp ecx, edx
jb 0x43cb19
push 0x4e4714
call fcn.004d63d0
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 0x43d0ba
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 0x43ee15
mov eax, dword [edi + 0x78]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x43e0d5
test edi, 0x8000000
mov esi, ebx
jne 0x43ed1c
mov ebx, dword [ebp + 8]
test edi, 0x20000000
je 0x43edb5
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
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 0x43d547
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 0x43f106
mov eax, dword [edi + 0x78]
mov edi, dword [eax + ecx*4]
test edi, edi
js 0x43e12a
mov esi, ebx
mov ebx, dword [ebp + 8]
test edi, 0x8000000
je 0x43edb5
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], 1
mov dword [esp + 0x44], 0
cmp dword [eax + 0x154], 1
je 0x43d165
mov eax, dword [esp]
mov edx, dword [ebx + 0x94]
and edi, 0x7ffffff
movzx ecx, byte [eax + 0x27c]
shr edi, cl
cmp edi, edx
jae 0x43f158
mov eax, dword [ebx + 0x90]
mov edx, dword [eax + edi*8 + 4]
test edx, edx
je 0x43f07f
mov eax, dword [eax + edi*8]
test byte [eax + 8], 2
jne 0x43d8d6
mov eax, dword [esp + 0x40]
mov dword [esp + 0x3c], eax
jmp 0x43edb5
test edx, 0x8000000
jne 0x43d77c
mov esi, dword [esp + 0x18]
test edx, 0x40000000
jne 0x43d879
test edx, 0x20000000
je 0x43f344
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.0043f4a0
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x43e915
mov eax, dword [esp + 8]
mov edx, edi
movzx ecx, byte [eax + edi]
call fcn.0043f4e0
jmp 0x43d547
mov ecx, dword [esp]
mov edx, 1
mov ecx, dword [ecx + 0x27c]
and ecx, 0x1f
shl edx, cl
cmp ecx, 0x1b
jae 0x43f21f
or edx, 0x40000000
test edx, edx
jns 0x43c696
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.004dae80
add esp, 0xc
jmp 0x43c6a2
mov eax, dword [esp + 0x44]
movzx eax, byte [edi + eax + 0x58]
mov edx, dword [ebx + 0x88]
movzx eax, al
cmp edx, eax
jbe 0x43f073
mov ecx, dword [ebx + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x43d888
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push dword [esp + 4]
call fcn.0043f380
add esp, 4
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x24]
je 0x43d27b
mov dword [esi + 4], ebx
mov dword [esi], 2
jmp 0x43edf8
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 0x43d491
cmp dword [esp + 0x40], 0
mov edi, dword [esp + 0x88]
lea ecx, [esp + 0x48]
je 0x43d98e
mov eax, dword [esp + 0xc]
mov dword [esp + 0x78], edi
cmp dword [esp + 0x14], eax
mov dword [esp + 0x7c], eax
jb 0x43f2da
inc eax
cmp eax, edi
jb 0x43f2da
mov ebx, dword [ebp + 8]
test edi, edi
je 0x43d822
lea eax, [edi - 1]
cmp dword [esp + 0x14], eax
jbe 0x43d822
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 0x43d925
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 0x43d925
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x43d95f
mov ecx, dword [esp + 0x18]
xor eax, eax
mov dword [ecx], eax
jmp 0x43edf8
mov ecx, dword [esp]
mov edx, 1
mov ecx, dword [ecx + 0x27c]
and ecx, 0x1f
shl edx, cl
cmp ecx, 0x1b
jae 0x43f21f
or edx, 0x40000000
test edx, edx
jns 0x43cb2a
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.004dae80
add esp, 0xc
jmp 0x43cb36
mov eax, dword [esp + 0x38]
movzx eax, byte [edi + eax + 0x58]
mov edx, dword [ebx + 0x88]
movzx eax, al
cmp edx, eax
jbe 0x43f073
mov ecx, dword [ebx + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x43d8fe
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push dword [esp + 4]
call fcn.0043f380
add esp, 4
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x24]
je 0x43d555
mov dword [esi + 4], eax
mov dword [esi], 2
jmp 0x43edf8
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 0x43d870
mov eax, dword [esp + 0x88]
cmp dword [esp + 0x40], 0
mov dword [esp + 4], edi
mov edi, eax
je 0x43e1e9
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], edi
cmp ecx, eax
mov dword [esp + 0x7c], eax
jb 0x43f262
inc eax
cmp eax, edi
jb 0x43f262
test edi, edi
je 0x43d8f4
mov ebx, dword [ebp + 8]
lea eax, [edi - 1]
cmp ecx, eax
jbe 0x43df89
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 0x43e17c
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 0x43e17c
mov esi, dword [esp + 0x18]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x43e1ba
mov eax, dword [esp + 0x14]
xor esi, esi
cmp dword [eax + 0x154], 1
je 0x43d7db
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 0x43f1aa
mov ecx, dword [ecx + 0x90]
mov eax, dword [ecx + edx*8 + 4]
test eax, eax
je 0x43f07f
mov ecx, dword [ecx + edx*8]
test byte [ecx + 8], 2
je 0x43d7db
cmp eax, 0xd
jb 0x43f20e
add eax, 0xfffffff3
cmp eax, 3
jbe 0x43ee61
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 0x43f1fa
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 0x43edf8
mov al, 2
jmp 0x43d931
test edx, 0x40000000
jne 0x43d8af
test edx, 0x20000000
je 0x43f344
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.0043f4a0
mov edx, dword [esp + 0x40]
cmp edi, edx
jae 0x43e915
movzx ecx, byte [esi + edi]
mov edx, edi
call fcn.0043f4e0
mov ecx, dword [esp + 0x18]
mov dword [ecx + 4], eax
mov dword [ecx], 2
jmp 0x43edf8
xor eax, eax
mov dword [esi], eax
jmp 0x43edf8
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.0043f4a0
jmp 0x43bf58
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.004dae80
add esp, 0xc
jmp 0x43d24e
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.0043f4a0
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 0x43edf8
cmp edx, 0xd
jb 0x43f2bc
mov ecx, dword [esp + 0x40]
add edx, 0xfffffff3
cmp edx, 3
ja 0x43eda2
jmp 0x43f2cb
mov ebx, dword [ebp + 8]
mov al, 2
jmp 0x43e18c
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.004dae80
add esp, 0xc
jmp 0x43d528
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 0x43f073
mov ecx, dword [ebx + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x43eb75
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push edi
call fcn.0043f380
add esp, 4
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x24]
je 0x43d98e
mov ecx, dword [esp + 0x18]
mov eax, 2
mov dword [ecx + 4], ebx
mov dword [ecx], eax
jmp 0x43edf8
mov esi, dword [ebp + 8]
cmp dword [esi + 0xb0], 1
jne 0x43d9b4
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 0x43ded7
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 0x43da12
mov edi, esi
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
inc edi
cmp edi, eax
jae 0x43ded7
cmp ebx, 0x7ffffff
jbe 0x43da87
mov esi, dword [ebp + 8]
cmp dword [esi + 0xb0], 0
je 0x43f1ce
cmp edi, dword [esp + 0x14]
mov dword [esi + 0xb8], edi
jae 0x43f112
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 0x43f069
mov edx, dword [esi + 0x78]
mov ecx, dword [edx + ecx*4]
test ecx, ecx
js 0x43de2f
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
mov ebx, ecx
cmp ebx, 0x7ffffff
jbe 0x43da09
jmp 0x43dbe8
cmp edi, eax
jae 0x43da09
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 0x43db4c
cmp ecx, 0x8000000
jae 0x43db4c
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 0x43db54
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 0x43db5d
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 0x43db68
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
add edi, 4
cmp edi, eax
jb 0x43daa4
jmp 0x43da09
mov edx, ebx
mov dword [esp + 0x10], edi
jmp 0x43db74
inc edi
mov edx, ecx
mov dword [esp + 0x10], edi
jmp 0x43db6a
add edi, 2
mov edx, ebx
mov dword [esp + 0x10], edi
jmp 0x43db6c
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 0x43db90
mov ebx, ecx
mov edi, dword [esp + 0x10]
cmp ebx, 0x7ffffff
jbe 0x43da09
jmp 0x43dbe8
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0xb0], 0
je 0x43f1ce
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 0x43f1b8
mov ebx, dword [esp + 4]
mov ebx, dword [ebx + ecx*4]
test ebx, ebx
js 0x43de96
mov edi, dword [esp + 0x10]
cmp ebx, 0x7ffffff
jbe 0x43da09
test ebx, 0x10000000
je 0x43e8db
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 0x43e921
mov edi, dword [esp + 0x88]
cmp edi, esi
jbe 0x43d9ff
cmp dword [esp + 0x40], 0
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
je 0x43da0a
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], eax
cmp ecx, eax
jb 0x43f262
cmp dword [esp + 0x58], edi
jb 0x43f262
lea eax, [edi - 1]
cmp ecx, eax
jbe 0x43ddbf
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 0x43ddc9
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 0x43ddc9
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x43de06
mov esi, dword [ebp + 8]
mov ebx, dword [esp]
mov al, 2
jmp 0x43ddd8
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 0x43f073
mov ecx, dword [esi + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x43de72
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.0043f380
add esp, 4
cmp dword [esp + 0x20], 0
mov ebx, dword [esp + 0x24]
jne 0x43d97b
mov eax, dword [esp + 0xc]
jmp 0x43da0a
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.004d9b90
add esp, 4
test eax, eax
mov eax, dword [esp + 0xc]
mov esi, dword [esp + 8]
jne 0x43c9ae
mov ebx, edx
cmp ebx, 0x7ffffff
jbe 0x43da09
jmp 0x43dbe8
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.004dae80
add esp, 0xc
jmp 0x43de02
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.004d9b90
add esp, 4
test eax, eax
jne 0x43f131
mov eax, dword [esp + 0xc]
mov ebx, edx
mov edi, dword [esp + 0x10]
cmp ebx, 0x7ffffff
jbe 0x43da09
jmp 0x43dbe8
cmp eax, dword [esp + 0x14]
jae 0x43df36
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 0x43f069
mov edx, dword [esi + 0x78]
mov esi, dword [esp + 0x18]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x43ef20
test edx, 0x8000000
jne 0x43df90
mov ebx, dword [ebp + 8]
test edx, 0x20000000
jne 0x43d085
jmp 0x43df82
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 0x43f1c4
mov edx, dword [edi + 0x78]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x43ef4d
test edx, 0x8000000
jne 0x43dfb8
mov ebx, dword [ebp + 8]
xor esi, esi
jmp 0x43e99d
mov al, 2
jmp 0x43e18c
mov eax, dword [esp + 0x1c]
xor edi, edi
mov ebx, dword [ebp + 8]
mov esi, 1
cmp dword [eax + 0x154], 1
jne 0x43e93a
mov eax, dword [esp + 0xc]
mov dword [esp + 0x14], eax
jmp 0x43e99d
mov eax, dword [esp + 0x1c]
xor edi, edi
mov ebx, dword [ebp + 8]
mov esi, 1
cmp dword [eax + 0x154], 1
je 0x43e99d
mov eax, dword [esp]
and edx, 0x7ffffff
movzx ecx, byte [eax + 0x27c]
mov eax, dword [ebx + 0x94]
shr edx, cl
cmp edx, eax
jae 0x43f1aa
mov ecx, dword [ebx + 0x90]
mov eax, dword [ecx + edx*8 + 4]
test eax, eax
je 0x43f07f
mov ecx, dword [ecx + edx*8]
test byte [ecx + 8], 2
je 0x43e99d
cmp eax, 0xd
jb 0x43f20e
add eax, 0xfffffff3
cmp eax, 3
ja 0x43e99a
jmp 0x43ee61
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.004d9b90
add esp, 4
test eax, eax
je 0x43e9e1
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov byte [eax], 1
jmp 0x43ca97
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.004d9b90
add esp, 4
test eax, eax
je 0x43ea78
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov byte [eax], 1
jmp 0x43ca97
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.004d9b90
add esp, 4
test eax, eax
je 0x43ed0c
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov ecx, dword [esp + 0xc]
mov byte [eax], 1
mov esi, ebx
mov dword [eax + 4], ecx
jmp 0x43d547
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.004d9b90
add esp, 4
test eax, eax
je 0x43ee00
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov ecx, dword [esp + 0x40]
mov byte [eax], 1
mov esi, ebx
mov dword [eax + 4], ecx
jmp 0x43d547
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 0x43f073
mov ecx, dword [ebx + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x43ee21
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push edi
call fcn.0043f380
add esp, 4
cmp dword [esp + 0x20], 0
mov eax, dword [esp + 0x24]
je 0x43e1e5
mov ecx, 2
mov dword [esi + 4], eax
mov dword [esi], ecx
jmp 0x43edf8
mov dword [esp + 8], eax
mov ebx, dword [ebp + 8]
cmp dword [ebx + 0xb0], 1
jne 0x43e20f
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 0x43e789
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 0x43e279
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 0x43e7aa
mov ebx, edi
mov edi, dword [esp + 8]
cmp edi, 0x7ffffff
jbe 0x43e2ea
mov dword [esp + 8], edi
mov edi, dword [ebp + 8]
cmp dword [edi + 0xb0], 0
je 0x43f1ce
cmp ebx, dword [esp + 0x14]
mov dword [edi + 0xb8], ebx
jae 0x43f19a
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 0x43f069
mov edx, dword [edi + 0x78]
mov ecx, dword [edx + ecx*4]
test ecx, ecx
js 0x43e652
mov edi, ebx
jmp 0x43e41b
cmp ebx, dword [esp + 0xc]
jae 0x43e77b
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 0x43e3a5
cmp ecx, 0x8000000
jae 0x43e3a5
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 0x43e3ab
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 0x43e3b4
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 0x43e3bd
mov edx, dword [esp + 0xc]
add ebx, 4
cmp ebx, edx
jb 0x43e309
jmp 0x43e261
mov eax, edi
mov edi, ebx
jmp 0x43e3c5
inc ebx
mov eax, ecx
mov ecx, edx
mov edi, ebx
jmp 0x43e3c5
add ebx, 2
mov eax, edx
mov edi, ebx
jmp 0x43e3c5
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 0x43e41e
cmp dword [ebx + 0xb0], 0
je 0x43f1ce
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 0x43f069
mov ebx, eax
mov eax, dword [esp + 8]
mov eax, dword [eax + ecx*4]
test eax, eax
js 0x43e6aa
mov esi, dword [esp + 0x18]
mov ecx, eax
mov ebx, dword [ebp + 8]
cmp ecx, 0x7ffffff
mov dword [esp + 8], ecx
jbe 0x43e26e
test ecx, 0x10000000
je 0x43e6f0
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 0x43e793
mov ebx, dword [esp + 0x88]
cmp ebx, edi
jbe 0x43e781
cmp dword [esp + 0x40], 0
mov ecx, dword [esp + 0x3c]
mov edi, dword [esp + 8]
je 0x43e643
mov eax, dword [esp + 0xc]
mov dword [esp + 0x78], ebx
cmp dword [esp + 0x14], eax
mov dword [esp + 0x7c], eax
jb 0x43f249
cmp dword [esp + 0x70], ebx
jb 0x43f249
lea eax, [ebx - 1]
cmp dword [esp + 0x14], eax
jbe 0x43e5e2
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 0x43e5e6
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 0x43e5e6
movzx eax, byte [esp + 0x10]
mov esi, dword [esp + 0x18]
mov dword [esp + 0x48], 4
mov byte [esp + 0x4c], al
jmp 0x43e623
mov al, 2
jmp 0x43e5f6
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 0x43f073
mov ecx, dword [ecx + 0x84]
mov ecx, dword [ecx + eax*4]
test ecx, ecx
js 0x43e680
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], 5
lea ecx, [esp + 0x20]
lea edx, [esp + 0x48]
push ebx
call fcn.0043f380
add esp, 4
cmp dword [esp + 0x20], 0
mov edi, dword [esp + 0x24]
jne 0x43eb67
cmp ebx, dword [esp + 0xc]
jb 0x43e27f
jmp 0x43e7a3
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.004d9b90
add esp, 4
test eax, eax
jne 0x43f09b
mov edi, ebx
jmp 0x43e6d6
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.004dae80
add esp, 0xc
jmp 0x43e623
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.004d9b90
add esp, 4
test eax, eax
jne 0x43f164
mov esi, dword [esp + 0x18]
mov ebx, dword [ebp + 8]
mov ecx, edx
cmp ecx, 0x7ffffff
mov dword [esp + 8], ecx
ja 0x43e42e
jmp 0x43e26e
test dword [esp + 8], 0x8000000
je 0x43f0c4
mov eax, dword [esp + 0x64]
mov dword [esp + 0x60], 1
mov dword [esp + 0x68], 0
cmp dword [eax + 0x154], 1
je 0x43e772
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 0x43f1e2
mov ecx, dword [ebx + 0x90]
mov edx, dword [ecx + eax*8 + 4]
test edx, edx
je 0x43f07f
mov eax, dword [ecx + eax*8]
test byte [eax + 8], 2
je 0x43e772
cmp edx, 0xd
jb 0x43f2bc
add edx, 0xfffffff3
cmp edx, 3
jbe 0x43f2cb
mov eax, dword [eax + 0x15]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edi
jmp 0x43e26e
mov dword [esp + 8], edi
mov edi, ebx
mov ebx, dword [ebp + 8]
jmp 0x43e26e
mov dword [esp + 0x60], 0
jmp 0x43e7aa
mov edx, dword [esp + 0xc]
mov ecx, ebx
call fcn.0043f4a0
jmp 0x43ecaf
mov ebx, dword [ebp + 8]
mov dword [esp + 8], edi
mov eax, dword [esp + 0xc]
cmp eax, dword [esp + 0x14]
jae 0x43e83d
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 0x43f069
mov edx, dword [edi + 0x78]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x43efc3
test edx, 0x8000000
jne 0x43e8ad
test edx, 0x20000000
je 0x43ec7d
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov ecx, dword [esp + 0xc]
mov byte [eax], 0
mov byte [eax + 1], bl
mov dword [eax + 4], ecx
jmp 0x43d547
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 0x43f1c4
mov edx, dword [ebx + 0x78]
mov edx, dword [edx + ecx*4]
test edx, edx
js 0x43f01a
test edx, 0x8000000
je 0x43ec7d
mov eax, dword [esp + 0x64]
cmp dword [eax + 0x154], 1
jne 0x43eb9c
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], 1
jmp 0x43ebee
mov eax, dword [esp + 0x64]
cmp dword [eax + 0x154], 1
jne 0x43ebfb
mov eax, dword [esp + 0xc]
mov dword [esp + 0x68], 0
mov dword [esp + 0x60], 1
mov dword [esp + 0x6c], eax
jmp 0x43ec7d
test ebx, 0x8000000
jne 0x43ecef
test ebx, 0x40000000
jne 0x43ee72
test ebx, 0x20000000
je 0x43f344
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.0043f4a0
mov edx, dword [esp + 0x14]
cmp edi, edx
jb 0x43d853
mov ecx, edi
push 0x4e49cc
call fcn.004d63d0
mov ecx, dword [ebp + 8]
mov edx, dword [esp + 0xc]
call fcn.0043f4a0
mov ecx, dword [esp + 0x18]
xor eax, eax
mov dword [ecx], eax
jmp 0x43edf8
mov eax, dword [esp]
and edx, 0x7ffffff
movzx ecx, byte [eax + 0x27c]
mov eax, dword [ebx + 0x94]
shr edx, cl
cmp edx, eax
jae 0x43f1aa
mov ecx, dword [ebx + 0x90]
mov eax, dword [ecx + edx*8 + 4]
test eax, eax
je 0x43f07f
mov ecx, dword [ecx + edx*8]
mov edx, dword [esp + 0xc]
test byte [ecx + 8], 2
mov dword [esp + 0x14], edx
je 0x43e99d
cmp eax, 0xd
jb 0x43f20e
mov edx, dword [esp + 0xc]
add eax, 0xfffffff3
cmp eax, 3
mov dword [esp + 0x14], edx
jbe 0x43ee61
mov edi, dword [ecx + 0x15]
mov eax, dword [ebx + 0xb4]
cmp dword [ebx + 0xb0], 0
mov dword [ebx + 0xb0], 0
je 0x43f1fa
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 0x43edf8
mov edi, edx
test edi, 0x8000000
je 0x43ca57
mov ecx, dword [esp + 0x14]
xor esi, esi
mov ebx, dword [ebp + 8]
mov eax, 1
cmp dword [ecx + 0x154], 1
jne 0x43ea13
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x10], ecx
jmp 0x43eaf5
mov ecx, dword [esp]
mov edx, dword [ebx + 0x94]
and edi, 0x7ffffff
movzx ecx, byte [ecx + 0x27c]
shr edi, cl
cmp edi, edx
jae 0x43f158
mov ecx, dword [ebx + 0x90]
mov edx, dword [ecx + edi*8 + 4]
test edx, edx
je 0x43f07f
mov ecx, dword [ecx + edi*8]
mov edi, dword [esp + 0xc]
test byte [ecx + 8], 2
mov dword [esp + 0x10], edi
je 0x43eaf5
cmp edx, 0xd
jb 0x43f2bc
mov eax, dword [esp + 0xc]
add edx, 0xfffffff3
cmp edx, 3
mov dword [esp + 0x10], eax
ja 0x43eaed
jmp 0x43f2cb
mov edi, edx
test edi, 0x8000000
je 0x43cfd3
mov ecx, dword [esp + 0x14]
xor esi, esi
mov ebx, dword [ebp + 8]
mov eax, 1
cmp dword [ecx + 0x154], 1
je 0x43eaf5
mov ecx, dword [esp]
mov edx, dword [ebx + 0x94]
and edi, 0x7ffffff
movzx ecx, byte [ecx + 0x27c]
shr edi, cl
cmp edi, edx
jae 0x43f158
mov ecx, dword [ebx + 0x90]
mov edx, dword [ecx + edi*8 + 4]
test edx, edx
je 0x43f07f
mov ecx, dword [ecx + edi*8]
test byte [ecx + 8], 2
je 0x43eaf5
cmp edx, 0xd
jb 0x43f2bc
add edx, 0xfffffff3
cmp edx, 3
jbe 0x43f2cb
mov esi, dword [ecx + 0x15]
mov eax, 1
mov ecx, dword [ebx + 0xb4]
cmp dword [ebx + 0xb0], 0
mov dword [ebx + 0xb0], 0
je 0x43f1fa
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 0x43edf8
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x43f253
mov edx, dword [esp + 4]
mov byte [eax], 1
jmp 0x43ca97
mov dword [esi + 4], edi
mov dword [esi], 2
jmp 0x43edf8
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.004dae80
add esp, 0xc
jmp 0x43d95f
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 0x43f1aa
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 0x43f07f
mov ecx, dword [ecx + edx*8]
test byte [ecx + 8], 2
jne 0x43ee48
mov eax, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
jmp 0x43ec7d
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 0x43f1aa
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 0x43f07f
mov ecx, dword [ecx + edx*8]
mov edx, dword [esp + 0xc]
test byte [ecx + 8], 2
mov dword [esp + 0x6c], edx
je 0x43ec7d
cmp eax, 0xd
jb 0x43f20e
mov edx, dword [esp + 0xc]
add eax, 0xfffffff3
cmp eax, 3
jbe 0x43ee61
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 0x43f1fa
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 0x43edf2
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov ecx, dword [esp + 4]
mov byte [eax], 1
mov dword [eax + 4], ecx
jmp 0x43d85e
mov ecx, dword [esp + 0x1c]
xor eax, eax
mov esi, edi
cmp dword [ecx + 0x154], 1
jne 0x43ee8b
mov edi, dword [ebp + 8]
jmp 0x43eede
mov edi, edx
test edi, 0x8000000
mov esi, ebx
je 0x43d076
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 0x43ed46
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
jmp 0x43edb5
mov eax, dword [esp]
mov edx, dword [ebx + 0x94]
and edi, 0x7ffffff
movzx ecx, byte [eax + 0x27c]
shr edi, cl
cmp edi, edx
jae 0x43f158
mov eax, dword [ebx + 0x90]
mov edx, dword [eax + edi*8 + 4]
test edx, edx
je 0x43f07f
mov eax, dword [eax + edi*8]
mov ecx, dword [esp + 0xc]
test byte [eax + 8], 2
mov dword [esp + 0x3c], ecx
je 0x43edb5
cmp edx, 0xd
jb 0x43f2bc
mov ecx, dword [esp + 0xc]
add edx, 0xfffffff3
cmp edx, 3
jbe 0x43f2cb
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 0x43f1fa
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 0x43d109
jmp 0x43edb5
mov edx, eax
push 0x4e4388
call fcn.004d63d0
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.004dae80
add esp, 0xc
jmp 0x43e1ba
mov edx, dword [esp + 0x14]
cmp eax, 0xd
jb 0x43f20e
add eax, 0xfffffff3
cmp eax, 3
ja 0x43ec6a
mov ecx, 4
mov edx, eax
push 0x4e7028
call fcn.004d6430
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.0043f4a0
mov eax, dword [esp + 0x18]
mov dword [eax], 0
jmp 0x43edf8
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 0x43f1ee
mov ecx, dword [ecx + 0x90]
mov edx, dword [ecx + ebx*8 + 4]
test edx, edx
je 0x43f07f
mov ecx, dword [ecx + ebx*8]
mov edi, dword [ebp + 8]
test byte [ecx + 8], 2
je 0x43eede
cmp edx, 0xd
jb 0x43f2bc
add edx, 0xfffffff3
cmp edx, 3
jbe 0x43f2cb
mov eax, dword [ecx + 0x15]
mov ecx, dword [edi + 0xb4]
cmp dword [edi + 0xb0], 0
mov dword [edi + 0xb0], 0
je 0x43f1fa
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 0x43edf8
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.004d9b90
add esp, 4
test eax, eax
jne 0x43efed
jmp 0x43df1d
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.004d9b90
add esp, 4
test eax, eax
je 0x43df77
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
mov ecx, dword [esp + 0x14]
test eax, eax
je 0x43f253
mov byte [eax], 1
mov dword [eax + 4], ecx
jmp 0x43d547
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x10]
push 0x4e4960
call fcn.004d63d0
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x40]
push 0x4e4960
call fcn.004d63d0
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.004d9b90
add esp, 4
test eax, eax
je 0x43e7f5
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov ecx, dword [esp + 0xc]
mov byte [eax], 1
mov dword [eax + 4], ecx
jmp 0x43d547
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.004d9b90
add esp, 4
test eax, eax
je 0x43e87b
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov ecx, dword [esp + 0x14]
mov byte [eax], 1
mov dword [eax + 4], ecx
jmp 0x43d547
push 0x4e4388
call fcn.004d63d0
mov ecx, eax
push 0x4e4714
call fcn.004d63d0
xor ecx, ecx
xor edx, edx
push 0x4e70e8
call fcn.004d63d0
mov ecx, edi
mov edx, eax
push 0x4e4724
call fcn.004d63d0
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov byte [eax], 1
mov dword [eax + 4], ebx
jmp 0x43d547
test dword [esp + 8], 0x40000000
jne 0x43f122
test dword [esp + 8], 0x20000000
je 0x43f344
mov ecx, dword [ebp + 8]
mov edx, edi
mov ebx, edi
call fcn.0043f4a0
cmp edi, dword [esp + 0x14]
jae 0x43f334
mov eax, dword [esp + 4]
mov edx, edi
movzx ecx, byte [eax + edi]
call fcn.0043f4e0
jmp 0x43d547
mov edx, eax
push 0x4e4398
call fcn.004d63d0
mov ecx, edi
mov edx, dword [esp + 0x14]
push 0x4e4960
call fcn.004d63d0
mov ecx, dword [ebp + 8]
mov edx, edi
call fcn.0043f4a0
jmp 0x43ecaf
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov ecx, dword [esp + 0x10]
jmp 0x43ece4
mov ecx, edi
push 0x4e4724
call fcn.004d63d0
movzx eax, byte [0x537170]
mov ecx, 0xc
mov edx, 4
call fcn.0040a020
test eax, eax
je 0x43f253
mov ebx, dword [esp + 0x18]
mov byte [eax], 1
mov dword [eax + 4], edi
mov dword [ebx + 4], eax
mov dword [ebx], 2
jmp 0x43edf8
mov ecx, ebx
mov edx, dword [esp + 0x14]
push 0x4e4960
call fcn.004d63d0
mov ecx, edx
mov edx, eax
push 0x4e4724
call fcn.004d63d0
mov edx, ebx
push 0x4e4388
call fcn.004d63d0
push 0x4e4398
call fcn.004d63d0
mov ecx, str.no_in_progress_search_to_update
mov edx, 0x1f
push 0x4e448c
call fcn.004d67a0
mov ecx, eax
push 0x4e4724
call fcn.004d63d0
mov ecx, ebx
push 0x4e4724
call fcn.004d63d0
mov ecx, str.no_in_progress_search_to_finish
mov edx, 0x1f
push 0x4e44bc
call fcn.004d67a0
mov ecx, 0xd
mov edx, eax
push 0x4e7118
call fcn.004d6370
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 0x4e4734
push 0x4e341c
push eax
call fcn.004d6720
mov eax, dword [esp + 0x14]
mov dword [esp + 0x74], eax
jmp 0x43f266
mov ecx, 4
mov edx, 0xc
call fcn.004d6180
mov dword [esp + 0x74], ecx
lea eax, [esp + 0x78]
lea edx, [esp + 0x74]
lea ecx, [esp + 0x48]
mov dword [esp + 0x20], 0x4e30fc
mov dword [esp + 0x24], 2
mov dword [esp + 0x30], 0
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], 0x41f5a0
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], 0x41fd60
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x20]
mov edx, 0x4e7380
mov dword [esp + 0x2c], 2
call fcn.004d6340
mov ecx, 0xd
push 0x4e7118
call fcn.004d6370
mov ecx, 4
push 0x4e7028
call fcn.004d6430
mov eax, dword [esp + 0x14]
lea esi, [esp + 0x78]
lea edx, [esp + 0x74]
mov dword [esp + 0x20], 0x4e30fc
mov dword [esp + 0x24], 2
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], ecx
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], 0x41f5a0
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], 0x41fd60
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x20]
mov edx, 0x4e7380
mov dword [esp + 0x2c], 2
call fcn.004d6340
mov edx, dword [esp + 0x14]
mov ecx, edi
push 0x4e49cc
call fcn.004d63d0
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x20]
mov edx, 0x4e49bc
mov dword [esp + 0x20], 0x4e49b4
mov dword [esp + 0x24], 1
mov dword [esp + 0x30], 0
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
call fcn.004d6340
int3