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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x90
mov esi, edx
mov edx, dword [esp + 0xa8]
mov eax, dword [edx + 0x10]
mov ebx, dword [edx + 0x14]
cmp eax, ebx
jbe 0x47dd66
and dword [ecx], 0
jmp 0x47f6ec
mov edi, dword [edx]
mov dword [esp + 0x2c], eax
mov dword [esp + 8], ebx
mov dword [esp], esi
mov dword [esp + 0xc], ecx
lea eax, [edi - 1]
cmp eax, 2
jb 0x47dd98
cmp byte [esi + 0x4c], 3
lea eax, [esi + 0x40]
mov ebx, 0x5ac83c
cmovne ebx, eax
cmp byte [ebx + 0xc], 2
jne 0x47de5d
cmp byte [edx + 0x18], 0
je 0x47ddf9
mov eax, dword [esi + 0x278]
lea edi, [esp + 0x48]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.0047d9f5
mov edx, dword [edi + 4]
mov ebp, dword [edi]
cmp byte [edi + 8], 0
mov dword [esp + 4], edx
je 0x47dee2
movzx ebx, byte [esp + 0x51]
lea edi, [esi + 0x258]
mov ecx, edi
call fcn.004782fb
test al, al
jne 0x47dde9
mov ecx, edi
mov edx, ebx
call fcn.00410f0a
test al, al
jne 0x47de4c
mov eax, dword [esp]
mov edx, dword [esp + 4]
mov bl, byte [eax + ebx + 0x58]
jmp 0x47dee4
mov eax, dword [esi + 0x278]
lea edi, [esp + 0x48]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.0047d9f5
mov edx, dword [edi + 4]
mov ebp, dword [edi]
cmp byte [edi + 8], 0
mov dword [esp + 4], edx
je 0x47e182
movzx ebx, byte [esp + 0x51]
lea edi, [esi + 0x258]
mov ecx, edi
call fcn.004782fb
test al, al
jne 0x47def5
mov ecx, edi
mov edx, ebx
call fcn.00410f0a
test al, al
je 0x47def5
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], 4
jmp 0x47e22b
mov eax, dword [edx + 4]
cmp byte [edx + 0x18], 0
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], eax
je 0x47e19c
mov eax, dword [esi + 0x278]
lea edi, [esp + 0x48]
mov ecx, edi
mov dword [esp + 0x38], eax
mov eax, dword [eax + 0x134]
mov dword [esp + 0x88], eax
call fcn.0047d9f5
mov eax, esi
mov ebp, dword [edi]
mov esi, dword [edi + 4]
cmp byte [edi + 8], 0
je 0x47e2a2
movzx ecx, byte [esp + 0x51]
lea edi, [eax + 0x258]
mov dword [esp + 4], ecx
mov ecx, edi
call fcn.004782fb
test al, al
jne 0x47ded2
mov edx, dword [esp + 4]
mov ecx, edi
call fcn.00410f0a
test al, al
jne 0x47e1fd
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dl, byte [eax + ecx + 0x58]
jmp 0x47e2a4
mov bl, 2
movzx eax, bl
test ebp, ebp
je 0x47df29
cmp ebp, 1
jne 0x47df05
add eax, 6
jmp 0x47df29
mov eax, dword [esp]
mov edx, dword [esp + 4]
mov bl, byte [eax + ebx + 0x58]
jmp 0x47e184
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
je 0x47e21f
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x150], edx
jbe 0x47e870
imul ecx, edx, 6
lea eax, [ecx + eax + 0xc]
mov esi, dword [esp + 0xa4]
mov ecx, dword [esi + 0x80]
mov edx, dword [esi + 0x88]
push 0x5ac7ec
push eax
call fcn.00408083
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x47ed5d
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 5
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0x2c]
mov ecx, esi
mov esi, dword [esp + 0x1c]
mov ebp, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, ebx
mov dword [esp + 0x10], eax
call fcn.0047da59
mov edx, dword [esp + 8]
mov dword [esp + 4], ebp
cmp ebx, edx
jae 0x47e0ee
cmp esi, 0x7ffffff
jbe 0x47dfc6
mov edi, dword [esp + 0xa4]
mov edx, ebx
mov ecx, edi
call fcn.0047dc70
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x47f63a
movzx eax, byte [ebp + ebx]
mov ecx, dword [esp]
mov edx, edi
push eax
push esi
jmp 0x47e0bd
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x74]
cmp ebx, edx
jae 0x47e0e8
movzx ecx, byte [ebp + ebx]
mov edi, dword [esp]
lea ebp, [ebx + 3]
movzx ecx, byte [edi + ecx + 0x158]
add ecx, esi
cmp ebp, edx
mov edi, dword [eax + ecx*4]
mov ecx, ebx
jae 0x47e069
cmp edi, 0x8000000
jae 0x47e069
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 4]
mov ebx, ecx
movzx esi, byte [ebp + ecx + 1]
mov ecx, dword [esp]
movzx esi, byte [ecx + esi + 0x158]
add esi, edi
mov esi, dword [eax + esi*4]
cmp esi, 0x7ffffff
ja 0x47e070
movzx edx, byte [ebp + ebx + 2]
movzx edx, byte [ecx + edx + 0x158]
add edx, esi
mov edi, dword [eax + edx*4]
cmp edi, 0x7ffffff
ja 0x47e075
movzx edx, byte [ebp + ebx + 3]
movzx ecx, byte [ecx + edx + 0x158]
mov edx, dword [esp + 8]
add ecx, edi
mov esi, dword [eax + ecx*4]
cmp esi, 0x7ffffff
ja 0x47e080
mov ebp, dword [esp + 4]
add ebx, 4
jmp 0x47dfd0
mov ebx, ecx
mov ecx, dword [esp]
jmp 0x47e07c
mov eax, edi
inc ebx
jmp 0x47e089
mov edx, dword [esp + 8]
add ebx, 2
mov eax, esi
jmp 0x47e08b
mov ecx, dword [esp]
mov ebx, dword [esp + 0x14]
mov eax, edi
mov edi, esi
mov ebp, dword [esp + 4]
test edi, edi
jns 0x47e0d5
mov esi, dword [esp + 0xa4]
mov edx, ebx
mov edi, eax
mov ecx, esi
call fcn.0047dc70
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x47f6f7
movzx eax, byte [ebp + ebx]
mov ecx, dword [esp]
mov edx, esi
push eax
push edi
call fcn.0047dbd5
pop ecx
pop ecx
test eax, eax
jne 0x47e684
mov edi, edx
mov edx, dword [esp + 8]
mov ecx, dword [esp]
cmp edi, 0x8000000
jb 0x47e0e6
mov eax, edi
and eax, 0x10000000
je 0x47e140
mov esi, edi
inc ebx
jmp 0x47df89
cmp edx, dword [esp + 0x10]
jae 0x47e267
movzx ebx, byte [ebp + edx]
mov edi, edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push ebx
push esi
call fcn.0047dbd5
pop ecx
pop ecx
test eax, eax
jne 0x47e6b3
mov esi, edx
bt edx, 0x1b
mov eax, edi
jb 0x47ecb2
mov edx, edi
bt esi, 0x1d
jb 0x47f18e
mov ebx, dword [esp + 0xa4]
jmp 0x47e29b
bt edi, 0x1b
jb 0x47e3f9
mov ecx, dword [esp + 0xa4]
bt edi, 0x1e
jb 0x47ec45
bt edi, 0x1d
jae 0x47f7d3
mov edx, ebx
call fcn.0047dc33
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x47f7c7
movzx ecx, byte [ebp + ebx]
jmp 0x47e712
mov bl, 2
movzx eax, bl
test ebp, ebp
je 0x47e480
cmp ebp, 1
jne 0x47e212
add eax, 6
jmp 0x47e480
mov eax, dword [esi + 0x278]
lea edi, [esp + 0x48]
mov ecx, edi
mov dword [esp + 0x34], eax
mov eax, dword [eax + 0x134]
mov dword [esp + 0x40], eax
call fcn.0047d9f5
mov eax, esi
mov ebp, dword [edi]
mov esi, dword [edi + 4]
cmp byte [edi + 8], 0
je 0x47e719
movzx ecx, byte [esp + 0x51]
lea edi, [eax + 0x258]
mov dword [esp + 4], ecx
mov ecx, edi
call fcn.004782fb
test al, al
jne 0x47e42c
mov edx, dword [esp + 4]
mov ecx, edi
call fcn.00410f0a
test al, al
je 0x47e42c
mov eax, dword [esp + 4]
mov dword [esp + 0x18], 4
mov dword [esp + 0x1c], eax
jmp 0x47ec71
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
jne 0x47e469
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], 2
mov ecx, dword [esp + 0x18]
lea edx, [ecx - 3]
cmp edx, 2
push 2
pop eax
mov esi, dword [esp + 0x2c]
cmovb eax, edx
test eax, eax
je 0x47f6d8
mov edx, dword [esp + 0x1c]
cmp eax, 1
jne 0x47f6d1
test esi, esi
je 0x47f744
dec esi
movzx ecx, dl
mov edx, esi
jmp 0x47f191
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push esi
call fcn.0047db76
pop ecx
test eax, eax
jne 0x47e6d3
mov eax, dword [esp + 0x10]
mov esi, edx
bt edx, 0x1b
jb 0x47ecb2
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 8]
xor edi, edi
jmp 0x47ecd4
mov dl, 2
movzx eax, dl
test ebp, ebp
je 0x47e2b7
cmp ebp, 1
jne 0x47e43c
add eax, 6
mov byte [esp + 4], dl
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 0x80]
mov edx, dword [edx + 0x88]
push 0x5ac7ec
push eax
call fcn.00408083
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x47f430
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 5
mov ecx, dword [esp + 0xa8]
mov edx, dword [ebx]
mov ebp, dword [esp + 0x1c]
mov edi, dword [ebx + 4]
mov esi, dword [ecx + 0xc]
mov eax, dword [ecx + 8]
lea ecx, [esp + 0x6c]
mov dword [esp + 0x40], edx
push dword [esp + 8]
mov ebx, dword [esp + 0x30]
push ebx
push esi
mov dword [esp + 0x10], eax
push eax
mov dword [esp + 0x9c], edi
push edi
call fcn.0047dc95
add esp, 0x14
lea eax, [esp + 0x6c]
cmp dword [eax], 0
je 0x47f38a
mov dword [esp + 0x10], esi
cmp dword [esp + 0x88], 0
mov esi, dword [esp + 0x70]
je 0x47e8df
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
lea edi, [esp + 0x48]
mov dword [edi + 8], eax
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ecx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov dword [edi], edx
mov dword [edi + 4], ecx
mov ecx, edi
mov edx, esi
mov byte [edi + 0x18], 1
call fcn.0047dcc8
mov edi, dword [edi + 0x10]
mov dword [esp + 0x34], edi
sub edi, 1
jb 0x47e884
cmp dword [esp + 0x54], edi
jbe 0x47e884
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
movzx eax, byte [eax + edi]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [esp]
lea ebx, [eax + 0x258]
mov ecx, ebx
call fcn.004782fb
test al, al
jne 0x47f397
mov edx, dword [esp + 0x30]
mov ecx, ebx
call fcn.00410f0a
test al, al
je 0x47f397
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], 4
mov dword [esp + 0x24], eax
jmp 0x47f22d
mov ebp, dword [esp + 0xa4]
mov edx, ebp
push 0
push edi
call fcn.0047daf6
pop ecx
pop edx
mov ecx, ebp
mov edx, ebx
mov esi, eax
call fcn.0047dc33
mov eax, dword [esp + 0xc]
mov dword [eax], 1
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
jmp 0x47f6ec
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dl, byte [eax + ecx + 0x58]
jmp 0x47e71b
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
je 0x47ec65
mov ecx, dword [esp + 0x38]
mov byte [esp + 4], dl
cmp dword [ecx + 0x150], esi
jbe 0x47f316
imul ecx, esi, 6
lea eax, [ecx + eax + 0xc]
jmp 0x47e2bb
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x150], edx
jbe 0x47ed42
imul ecx, edx, 6
lea eax, [ecx + eax + 0xc]
mov esi, dword [esp + 0xa4]
mov ecx, dword [esi + 0x80]
mov edx, dword [esi + 0x88]
push 0x5ac7ec
push eax
call fcn.00408083
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x47f2b3
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 5
mov eax, dword [esp + 0xa8]
mov ebx, dword [esp + 0x2c]
mov ecx, esi
mov esi, dword [esp + 0x1c]
mov ebp, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov edx, ebx
mov dword [esp + 0x10], eax
call fcn.0047da59
mov edx, dword [esp + 8]
mov dword [esp + 0x3c], 0
mov dword [esp + 4], ebp
cmp ebx, edx
jae 0x47e68b
cmp esi, 0x7ffffff
jbe 0x47e525
mov edi, dword [esp + 0xa4]
mov edx, ebx
mov ecx, edi
call fcn.0047dc70
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x47f63a
movzx eax, byte [ebp + ebx]
mov ecx, dword [esp]
mov edx, edi
push eax
push esi
jmp 0x47e624
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x47e5d2
movzx ecx, byte [ebp + ebx]
mov edi, dword [esp]
mov eax, dword [esp + 0x14]
movzx ecx, byte [edi + ecx + 0x158]
add ecx, esi
mov edi, dword [eax + ecx*4]
lea eax, [ebx + 3]
mov ecx, ebx
cmp eax, edx
jae 0x47e5d9
cmp edi, 0x8000000
jae 0x47e5d9
mov ebp, dword [esp + 4]
mov ebx, ecx
mov esi, dword [esp]
mov edx, edi
movzx ecx, byte [ebp + ecx + 1]
movzx ecx, byte [esi + ecx + 0x158]
add ecx, edi
mov edi, dword [esp + 0x14]
mov ecx, dword [edi + ecx*4]
cmp ecx, 0x7ffffff
ja 0x47e5df
movzx edx, byte [ebp + ebx + 2]
movzx edx, byte [esi + edx + 0x158]
add edx, ecx
mov edx, dword [edi + edx*4]
cmp edx, 0x7ffffff
ja 0x47e5e6
movzx ecx, byte [ebp + ebx + 3]
movzx ecx, byte [esi + ecx + 0x158]
add ecx, edx
mov esi, dword [edi + ecx*4]
cmp esi, 0x7ffffff
ja 0x47e5ef
mov ebp, dword [esp + 4]
mov edx, dword [esp + 8]
add ebx, 4
jmp 0x47e533
mov edi, esi
jmp 0x47e678
mov ebp, esi
mov ebx, ecx
jmp 0x47e5f5
inc ebx
mov ebp, edx
mov edi, ecx
jmp 0x47e5f5
add ebx, 2
mov ebp, ecx
mov edi, edx
jmp 0x47e5f5
mov ebp, edx
mov edi, esi
mov ebx, eax
test edi, edi
jns 0x47e631
mov esi, dword [esp + 0xa4]
mov edx, ebx
mov ecx, esi
call fcn.0047dc70
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x47f6f7
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, esi
movzx eax, byte [eax + ebx]
push eax
push ebp
call fcn.0047dbd5
pop ecx
pop ecx
test eax, eax
jne 0x47e684
mov edi, edx
mov edx, dword [esp + 8]
cmp edi, 0x8000000
jb 0x47e678
mov eax, edi
and eax, 0x10000000
jne 0x47e678
bt edi, 0x1b
jae 0x47e6dc
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push 0
push edi
call fcn.0047daf6
mov edx, dword [esp + 0x10]
add esp, 8
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x40], ebx
inc eax
mov dword [esp + 0x3c], eax
mov ebp, dword [esp + 4]
inc ebx
mov esi, edi
jmp 0x47e4e8
mov ecx, ebx
jmp 0x47f6da
cmp edx, dword [esp + 0x10]
jae 0x47e6ba
movzx ebx, byte [ebp + edx]
mov edi, edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push ebx
push esi
call fcn.0047dbd5
pop ecx
pop ecx
test eax, eax
je 0x47f17c
mov ecx, edi
jmp 0x47f6da
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push esi
call fcn.0047db76
pop ecx
test eax, eax
je 0x47f19b
mov ecx, dword [esp + 0x10]
jmp 0x47f6da
mov ecx, dword [esp + 0xa4]
bt edi, 0x1e
jb 0x47ed56
bt edi, 0x1d
jae 0x47f7d3
mov edx, ebx
call fcn.0047dc33
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x47f7c7
mov eax, dword [esp + 4]
movzx ecx, byte [eax + ebx]
mov edx, ebx
jmp 0x47f191
mov dl, 2
movzx eax, dl
test ebp, ebp
je 0x47e72e
cmp ebp, 1
jne 0x47ec58
add eax, 6
mov byte [esp + 4], dl
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 0x80]
mov edx, dword [edx + 0x88]
push 0x5ac7ec
push eax
call fcn.00408083
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x47f57e
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 5
mov eax, dword [esp + 0xa8]
mov edx, dword [ebx]
mov ebp, dword [esp + 0x1c]
mov edi, dword [ebx + 4]
lea ecx, [esp + 0x6c]
mov esi, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x8c], edx
push dword [esp + 8]
mov ebx, dword [esp + 0x30]
push ebx
mov dword [esp + 0x18], eax
push eax
push esi
mov dword [esp + 0x98], edi
push edi
call fcn.0047dc95
add esp, 0x14
lea eax, [esp + 0x6c]
cmp dword [eax], 0
je 0x47f38a
mov dword [esp + 4], esi
cmp dword [esp + 0x40], 0
mov esi, dword [esp + 0x70]
je 0x47ede9
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 8]
lea edi, [esp + 0x48]
mov dword [edi + 8], eax
mov dword [edi + 0xc], edx
mov dword [edi + 0x10], ebx
mov dword [edi + 0x14], ecx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov dword [edi], edx
mov dword [edi + 4], ecx
mov ecx, edi
mov edx, esi
mov byte [edi + 0x18], 0
call fcn.0047dcc8
mov edi, dword [edi + 0x10]
mov dword [esp + 0x38], edi
sub edi, 1
jb 0x47ed8e
cmp dword [esp + 0x54], edi
jbe 0x47ed8e
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x48]
movzx eax, byte [eax + edi]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x14], eax
mov eax, dword [esp]
lea ebx, [eax + 0x258]
mov ecx, ebx
call fcn.004782fb
test al, al
jne 0x47f512
mov edx, dword [esp + 0x30]
mov ecx, ebx
call fcn.00410f0a
test al, al
je 0x47f512
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], 4
mov dword [esp + 0x24], eax
jmp 0x47f3c4
mov ecx, dword [esp]
call fcn.0047c03c
mov esi, dword [esp + 0xa4]
jmp 0x47df4b
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov bl, 2
movzx eax, bl
test ebp, ebp
je 0x47e8a1
cmp ebp, 1
jne 0x47f214
add eax, 6
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 0x80]
mov edx, dword [edx + 0x88]
push 0x5ac7ec
push eax
call fcn.00408083
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x47f602
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 5
mov ebp, dword [esp + 0x24]
mov ebx, dword [esp + 0xa4]
mov edx, esi
mov ecx, ebx
call fcn.0047da59
mov eax, dword [esp]
mov edi, dword [esp + 4]
lea ecx, [eax + 0x258]
mov al, byte [eax + 0x51]
mov dword [esp + 0x84], ecx
mov byte [esp + 0x30], al
cmp esi, dword [esp + 8]
jae 0x47ecec
cmp ebp, 0x7ffffff
jbe 0x47e952
mov ecx, ebx
mov edx, esi
call fcn.0047dc70
cmp esi, dword [esp + 0x10]
jae 0x47f79a
movzx eax, byte [edi + esi]
mov ecx, dword [esp]
mov edx, ebx
push eax
push ebp
call fcn.0047dbd5
pop ecx
pop ecx
test eax, eax
jne 0x47f6d8
mov ebx, edx
mov edi, esi
jmp 0x47ea62
mov eax, dword [ebx + 0x74]
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 8]
jae 0x47e9ff
movzx ecx, byte [edi + esi]
mov eax, dword [esp]
movzx ecx, byte [eax + ecx + 0x158]
mov eax, dword [esp + 0x14]
add ecx, ebp
mov ebx, dword [eax + ecx*4]
lea eax, [esi + 3]
cmp eax, dword [esp + 8]
jae 0x47ea20
mov edi, esi
cmp ebx, 0x8000000
jae 0x47ea22
mov esi, dword [esp + 4]
mov ebp, dword [esp]
mov edx, ebx
movzx ecx, byte [esi + edi + 1]
movzx ecx, byte [ebp + ecx + 0x158]
add ecx, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + ecx*4]
cmp ecx, 0x7ffffff
ja 0x47ea08
movzx edx, byte [esi + edi + 2]
movzx edx, byte [ebp + edx + 0x158]
add edx, ecx
mov edx, dword [ebx + edx*4]
cmp edx, 0x7ffffff
ja 0x47ea0f
movzx ecx, byte [esi + edi + 3]
movzx ecx, byte [ebp + ecx + 0x158]
add ecx, edx
mov ebp, dword [ebx + ecx*4]
cmp ebp, 0x7ffffff
ja 0x47ea18
mov esi, edi
mov edi, dword [esp + 4]
add esi, 4
jmp 0x47e959
mov ebx, ebp
mov edi, esi
jmp 0x47eb73
inc edi
mov esi, edx
mov ebx, ecx
jmp 0x47ea24
add edi, 2
mov esi, ecx
mov ebx, edx
jmp 0x47ea24
mov esi, edx
mov ebx, ebp
mov edi, eax
jmp 0x47ea24
mov edi, esi
mov esi, ebp
test ebx, ebx
jns 0x47ea62
mov ebx, dword [esp + 0xa4]
mov edx, edi
mov ecx, ebx
call fcn.0047dc70
cmp edi, dword [esp + 0x10]
jae 0x47f7b3
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, ebx
movzx eax, byte [eax + edi]
push eax
push esi
call fcn.0047dbd5
pop ecx
pop ecx
test eax, eax
jne 0x47e6b3
mov ebx, edx
cmp ebx, 0x7ffffff
jbe 0x47eb73
bt ebx, 0x1c
jae 0x47f333
mov edx, dword [esp + 0x40]
lea ecx, [esp + 0x6c]
push dword [esp + 8]
push edi
push dword [esp + 0x18]
push dword [esp + 0x10]
push dword [esp + 0x9c]
call fcn.0047dc95
add esp, 0x14
cmp dword [esp + 0x6c], 0
je 0x47f37a
mov esi, dword [esp + 0x70]
cmp esi, edi
jbe 0x47eb73
cmp dword [esp + 0x88], 0
je 0x47eb76
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x14], esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 8]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x48], edx
mov edx, esi
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x48]
mov byte [esp + 0x60], 1
call fcn.0047dcc8
mov esi, dword [esp + 0x58]
mov edi, esi
sub edi, 1
setb bh
jb 0x47eb88
cmp dword [esp + 0x54], edi
jbe 0x47eb88
mov eax, dword [esp + 0x50]
mov dword [esp + 0x80], esi
mov esi, dword [esp + 0x84]
mov byte [esp + 0x68], bh
mov ebp, dword [esp + 0x48]
movzx ebx, byte [eax + edi]
mov eax, dword [esp + 0x4c]
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.004782fb
test al, al
jne 0x47eb5b
mov ecx, esi
mov edx, ebx
call fcn.00410f0a
test al, al
jne 0x47f706
mov eax, dword [esp]
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x34]
mov bl, byte [eax + ebx + 0x58]
mov bh, byte [esp + 0x68]
jmp 0x47eb92
inc edi
mov esi, edi
mov ebp, ebx
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0xa4]
jmp 0x47e90a
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov bl, 2
movzx eax, bl
test ebp, ebp
mov dword [esp + 0x34], edx
je 0x47ebc5
cmp ebp, 1
jne 0x47eba7
add eax, 6
jmp 0x47ebc5
test byte [esp + 0x30], 1
je 0x47f67e
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x150], edx
jbe 0x47ec04
imul ecx, edx, 6
lea eax, [ecx + eax + 0xc]
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 0x80]
mov edx, dword [edx + 0x88]
push 0x5ac7ec
push eax
call fcn.00408083
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x47ec0e
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 5
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
jmp 0x47eb76
mov ecx, dword [esp]
call fcn.0047c03c
jmp 0x47ebe7
mov eax, dword [esp]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1c], eax
movzx eax, bl
push eax
push dword [esp + 0x38]
push ebp
call fcn.00578578
add esp, 0xc
cmp dword [esp + 0x20], 5
je 0x47ebf7
jmp 0x47f71d
mov edx, ebx
call fcn.0047dc33
mov eax, dword [esp + 0xc]
and dword [eax], 0
jmp 0x47f6ec
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
jne 0x47f1f4
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], 2
mov ecx, dword [esp + 0x18]
lea edx, [ecx - 3]
cmp edx, 2
push 2
pop eax
cmovb eax, edx
test eax, eax
je 0x47eca9
cmp eax, 1
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
jne 0x47f6d1
test eax, eax
je 0x47f744
dec eax
movzx ecx, dl
mov edx, eax
jmp 0x47f191
mov ecx, dword [esp + 0x2c]
jmp 0x47f6da
mov ebx, dword [esp + 0xa4]
mov ecx, dword [esp]
mov ebp, eax
mov edx, ebx
push 0
push esi
call fcn.0047daf6
mov edx, dword [esp + 0x10]
add esp, 8
xor edi, edi
mov esi, eax
inc edi
mov ecx, ebx
call fcn.0047dc33
mov eax, dword [esp + 0xc]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], ebp
jmp 0x47f6ec
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x10]
jae 0x47f2e4
mov eax, dword [esp + 8]
mov edx, ebx
mov ecx, dword [esp]
movzx ebx, byte [edi + eax]
mov edi, eax
push ebx
push ebp
call fcn.0047dbd5
pop ecx
pop ecx
test eax, eax
jne 0x47e6b3
mov esi, edx
bt edx, 0x1b
mov dword [esp + 0x10], edi
jb 0x47f526
mov edx, edi
bt esi, 0x1d
jb 0x47f18e
mov ebx, dword [esp + 0xa4]
jmp 0x47f30f
mov ecx, dword [esp]
call fcn.0047c03c
mov esi, dword [esp + 0xa4]
jmp 0x47e4a2
mov edx, ebx
jmp 0x47f1da
mov eax, dword [esp]
lea edx, [esp + 0x6c]
lea edi, [esp + 0x18]
mov ecx, edi
mov dword [edx], eax
movzx eax, bl
mov dword [edx + 4], esi
push eax
push dword [esp + 8]
push ebp
call fcn.00578578
add esp, 0xc
cmp dword [edi], 5
je 0x47df5f
jmp 0x47e22b
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov bl, 2
movzx eax, bl
test ebp, ebp
je 0x47edab
cmp ebp, 1
jne 0x47f3ab
add eax, 6
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 0x80]
mov edx, dword [edx + 0x88]
push 0x5ac7ec
push eax
call fcn.00408083
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x47f646
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 5
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0xa4]
mov edx, esi
mov ecx, edi
call fcn.0047da59
mov eax, dword [esp]
mov dword [esp + 0x64], 0
lea ecx, [eax + 0x258]
mov al, byte [eax + 0x51]
mov dword [esp + 0x80], ecx
mov byte [esp + 0x30], al
cmp esi, dword [esp + 8]
jae 0x47f262
cmp ebp, 0x7ffffff
jbe 0x47ee68
mov ecx, edi
mov edx, esi
call fcn.0047dc70
cmp esi, dword [esp + 0x10]
jae 0x47f79a
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, edi
movzx eax, byte [eax + esi]
push eax
push ebp
call fcn.0047dbd5
pop ecx
pop ecx
test eax, eax
jne 0x47f6d8
mov ebp, dword [esp + 0x10]
mov ebx, edx
mov edi, esi
jmp 0x47ef7a
mov eax, dword [edi + 0x74]
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 8]
jae 0x47ef15
mov ecx, dword [esp + 4]
mov edi, dword [esp]
mov eax, dword [esp + 0x14]
movzx ecx, byte [ecx + esi]
movzx ecx, byte [edi + ecx + 0x158]
add ecx, ebp
mov ebx, dword [eax + ecx*4]
lea eax, [esi + 3]
cmp eax, dword [esp + 8]
jae 0x47ef36
mov edi, esi
cmp ebx, 0x8000000
jae 0x47ef38
mov esi, dword [esp + 4]
mov ebp, dword [esp]
mov edx, ebx
movzx ecx, byte [esi + edi + 1]
movzx ecx, byte [ebp + ecx + 0x158]
add ecx, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebx + ecx*4]
cmp ecx, 0x7ffffff
ja 0x47ef1e
movzx edx, byte [esi + edi + 2]
movzx edx, byte [ebp + edx + 0x158]
add edx, ecx
mov edx, dword [ebx + edx*4]
cmp edx, 0x7ffffff
ja 0x47ef25
movzx ecx, byte [esi + edi + 3]
movzx ecx, byte [ebp + ecx + 0x158]
add ecx, edx
mov ebp, dword [ebx + ecx*4]
cmp ebp, 0x7ffffff
ja 0x47ef2e
mov esi, edi
add esi, 4
jmp 0x47ee6f
mov ebx, ebp
mov edi, esi
jmp 0x47f16b
inc edi
mov esi, edx
mov ebx, ecx
jmp 0x47ef3a
add edi, 2
mov esi, ecx
mov ebx, edx
jmp 0x47ef3a
mov esi, edx
mov ebx, ebp
mov edi, eax
jmp 0x47ef3a
mov edi, esi
mov esi, ebp
mov ebp, dword [esp + 0x10]
test ebx, ebx
jns 0x47ef7a
mov ebx, dword [esp + 0xa4]
mov edx, edi
mov ecx, ebx
call fcn.0047dc70
cmp edi, ebp
jae 0x47f7be
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, ebx
movzx eax, byte [eax + edi]
push eax
push esi
call fcn.0047dbd5
pop ecx
pop ecx
test eax, eax
jne 0x47e6b3
mov ebx, edx
cmp ebx, 0x7ffffff
jbe 0x47f16b
bt ebx, 0x1c
jae 0x47f13e
mov edx, dword [esp + 0x8c]
lea ecx, [esp + 0x6c]
push dword [esp + 8]
push edi
push ebp
push dword [esp + 0x10]
push dword [esp + 0x98]
call fcn.0047dc95
add esp, 0x14
cmp dword [esp + 0x6c], 0
je 0x47f323
mov esi, dword [esp + 0x70]
cmp esi, edi
jbe 0x47f16b
cmp dword [esp + 0x40], 0
je 0x47f16e
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 8]
mov dword [esp + 0x14], esi
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x48], edx
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x48]
mov edx, esi
mov byte [esp + 0x60], 0
call fcn.0047dcc8
mov esi, dword [esp + 0x58]
mov edi, esi
sub edi, 1
setb bh
jb 0x47f084
cmp dword [esp + 0x54], edi
jbe 0x47f084
mov eax, dword [esp + 0x50]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x80]
mov byte [esp + 0x84], bh
mov ebp, dword [esp + 0x48]
movzx ebx, byte [eax + edi]
mov eax, dword [esp + 0x4c]
mov ecx, esi
mov dword [esp + 0x38], eax
call fcn.004782fb
test al, al
jne 0x47f06c
mov ecx, esi
mov edx, ebx
call fcn.00410f0a
test al, al
jne 0x47f68f
mov eax, dword [esp]
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x38]
mov bl, byte [eax + ebx + 0x58]
mov bh, byte [esp + 0x84]
jmp 0x47f08e
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov bl, 2
movzx eax, bl
test ebp, ebp
mov dword [esp + 0x38], edx
je 0x47f0c1
cmp ebp, 1
jne 0x47f0a3
add eax, 6
jmp 0x47f0c1
test byte [esp + 0x30], 1
je 0x47f5f1
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x150], edx
jbe 0x47f0fd
imul ecx, edx, 6
lea eax, [ecx + eax + 0xc]
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 0x80]
mov edx, dword [edx + 0x88]
push 0x5ac7ec
push eax
call fcn.00408083
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x47f107
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 5
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
jmp 0x47f16e
mov ecx, dword [esp]
call fcn.0047c03c
jmp 0x47f0e3
mov eax, dword [esp]
lea ecx, [esp + 0x20]
lea edx, [esp + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x1c], eax
movzx eax, bl
push eax
push dword [esp + 0x3c]
push ebp
call fcn.00578578
add esp, 0xc
cmp dword [esp + 0x20], 5
je 0x47f0f3
jmp 0x47f6a6
bt ebx, 0x1b
jae 0x47f770
mov ecx, dword [esp]
mov edx, dword [esp + 0xa4]
push 0
push ebx
call fcn.0047daf6
pop ecx
pop edx
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x78], edi
inc eax
mov dword [esp + 0x64], eax
inc edi
mov esi, edi
mov edi, dword [esp + 0xa4]
mov ebp, ebx
jmp 0x47ee18
mov esi, edx
bt edx, 0x1b
mov ebp, edi
jb 0x47f1ab
mov edx, edi
bt esi, 0x1d
jae 0x47f1d3
movzx ecx, bl
call fcn.0047da40
jmp 0x47f6df
mov esi, edx
bt edx, 0x1b
mov edx, dword [esp + 8]
jae 0x47f1d3
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push 0
push esi
call fcn.0047daf6
mov edx, dword [esp + 0x10]
add esp, 8
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x40], ebp
inc eax
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0xa4]
call fcn.0047dc33
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
jmp 0x47f4cf
mov ecx, dword [esp + 0x34]
mov byte [esp + 4], dl
cmp dword [ecx + 0x150], esi
jbe 0x47f403
imul ecx, esi, 6
lea eax, [ecx + eax + 0xc]
jmp 0x47e732
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
jne 0x47f410
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], 2
mov ecx, dword [esp + 0x20]
lea eax, [ecx - 3]
cmp eax, 2
push 2
pop esi
cmovae eax, esi
test eax, eax
je 0x47f5b5
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x47f758
cmp dword [esp + 0x34], 0
jne 0x47f3f4
jmp 0x47f744
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x10]
jae 0x47f467
mov eax, dword [esp + 4]
mov esi, dword [esp + 8]
mov ecx, dword [esp]
mov edx, edi
movzx ebx, byte [eax + esi]
mov edi, esi
push ebx
push ebp
call fcn.0047dbd5
pop ecx
pop ecx
test eax, eax
jne 0x47e6b3
mov esi, edx
bt edx, 0x1b
mov ebp, edi
jb 0x47f48b
mov edx, edi
bt esi, 0x1d
jb 0x47f18e
jmp 0x47f4b3
mov eax, dword [esp]
lea edx, [esp + 0x6c]
lea edi, [esp + 0x18]
mov ecx, edi
mov dword [edx], eax
movzx eax, bl
mov dword [edx + 4], esi
push eax
push dword [esp + 8]
push ebp
call fcn.00578578
add esp, 0xc
cmp dword [edi], 5
jne 0x47e22b
jmp 0x47e4b6
mov ecx, dword [esp]
mov edx, ebx
push ebp
call fcn.0047db76
pop ecx
test eax, eax
jne 0x47e6d3
mov esi, edx
bt edx, 0x1b
jb 0x47f526
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 8]
xor edi, edi
jmp 0x47f546
mov ecx, dword [esp]
call fcn.0047c03c
jmp 0x47e2dd
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 8]
jmp 0x47f4ba
bt ebx, 0x1b
jb 0x47f4dc
bt ebx, 0x1e
jb 0x47f5c8
bt ebx, 0x1d
jae 0x47f7d3
mov ecx, dword [esp + 0xa4]
mov edx, edi
call fcn.0047dc33
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x47f796
mov eax, dword [esp + 4]
mov edx, edi
movzx ecx, byte [eax + edi]
jmp 0x47f191
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 8]
call fcn.0047dc33
mov ecx, dword [esp + 0xc]
xor esi, esi
mov dword [ecx], esi
jmp 0x47f6ec
mov eax, dword [esp]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov bl, byte [eax + ecx + 0x58]
jmp 0x47e88e
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
jne 0x47f562
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], 2
mov ecx, dword [esp + 0x20]
lea eax, [ecx - 3]
cmp eax, 2
push 2
pop esi
cmovae eax, esi
test eax, eax
je 0x47f5d6
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x47f758
cmp dword [esp + 0x38], 0
je 0x47f744
movzx ecx, dl
mov edx, edi
call fcn.0047da40
jmp 0x47f75d
mov ecx, dword [esp]
call fcn.0047c03c
jmp 0x47e754
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
cmp dword [ecx + 0x150], edx
jbe 0x47f5bb
imul ecx, edx, 6
lea eax, [ecx + eax + 0xc]
jmp 0x47e8a5
mov eax, dword [esp]
lea edx, [esp + 0x6c]
lea edi, [esp + 0x18]
mov ecx, edi
mov dword [edx], eax
mov eax, dword [esp + 0xa4]
mov dword [edx + 4], eax
movzx eax, byte [esp + 4]
push eax
push esi
push ebp
call fcn.00578578
add esp, 0xc
cmp dword [edi], 5
je 0x47e2f1
jmp 0x47ec71
mov ecx, dword [esp]
mov edx, edi
push ebp
call fcn.0047db76
pop ecx
test eax, eax
jne 0x47e6d3
mov esi, edx
bt edx, 0x1b
mov edx, dword [esp + 8]
mov ebp, dword [esp + 0x10]
jae 0x47f4b3
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push 0
push esi
call fcn.0047daf6
mov edx, dword [esp + 0x10]
add esp, 8
mov dword [esp + 0x7c], eax
xor eax, eax
mov dword [esp + 0x78], ebp
inc eax
mov dword [esp + 0x64], eax
mov ecx, dword [esp + 0xa4]
call fcn.0047dc33
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x64]
mov esi, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
mov dword [eax], ecx
mov dword [eax + 4], esi
mov dword [eax + 8], edx
jmp 0x47f6ec
mov esi, dword [esp + 0xa4]
mov ecx, dword [esp]
mov edx, esi
push 0
push ebx
call fcn.0047daf6
pop ecx
pop edx
mov ecx, esi
mov edx, edi
mov esi, eax
call fcn.0047dc33
mov eax, dword [esp + 0xc]
mov dword [eax], 1
mov dword [eax + 4], esi
mov dword [eax + 8], edi
jmp 0x47f6ec
mov eax, dword [esp]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov bl, byte [eax + ecx + 0x58]
jmp 0x47ed98
mov ebx, dword [esp + 0xa4]
mov ecx, dword [esp]
mov edx, ebx
push 0
push esi
call fcn.0047daf6
mov edx, dword [esp + 0x10]
add esp, 8
xor edi, edi
mov esi, eax
inc edi
mov ecx, ebx
call fcn.0047dc33
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], ecx
jmp 0x47f6ec
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x14], edx
cmp dword [ecx + 0x150], edx
jbe 0x47f5e4
imul ecx, edx, 6
lea eax, [ecx + eax + 0xc]
jmp 0x47edaf
mov eax, dword [esp]
lea edx, [esp + 0x6c]
lea edi, [esp + 0x18]
mov ecx, edi
mov dword [edx], eax
mov eax, dword [esp + 0xa4]
mov dword [edx + 4], eax
movzx eax, byte [esp + 4]
push eax
push esi
push ebp
call fcn.00578578
add esp, 0xc
cmp dword [edi], 5
je 0x47e768
jmp 0x47ec71
mov ecx, dword [esp + 0x34]
jmp 0x47f5da
mov ecx, dword [esp]
call fcn.0047c03c
jmp 0x47e8c7
mov ecx, dword [esp + 0xa4]
mov edx, edi
jmp 0x47ec47
mov ecx, dword [esp + 0x38]
call fcn.0047da2a
jmp 0x47f75d
mov ecx, dword [esp]
call fcn.0047c03c
jmp 0x47edd1
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], 2
jmp 0x47f6a6
mov eax, dword [esp]
lea edx, [esp + 0x18]
mov dword [edx], eax
mov eax, dword [esp + 0xa4]
mov dword [edx + 4], eax
movzx eax, bl
lea ebx, [esp + 0x20]
mov ecx, ebx
push eax
push dword [esp + 0x18]
push ebp
call fcn.00578578
add esp, 0xc
cmp dword [ebx], 5
jne 0x47f22d
jmp 0x47e8db
mov ecx, ebx
push 0x5aca54
jmp 0x47f6fe
mov eax, dword [esp]
lea edx, [esp + 0x18]
mov dword [edx], eax
mov eax, dword [esp + 0xa4]
mov dword [edx + 4], eax
movzx eax, bl
lea ebx, [esp + 0x20]
mov ecx, ebx
push eax
push dword [esp + 0x18]
push ebp
call fcn.00578578
add esp, 0xc
cmp dword [ebx], 5
je 0x47ede5
jmp 0x47f3c4
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], 2
jmp 0x47f71d
mov dword [esp + 0x24], ebx
mov bh, byte [esp + 0x84]
mov esi, dword [esp + 0x68]
mov dword [esp + 0x20], 4
mov ecx, dword [esp + 0x20]
lea edx, [ecx - 3]
cmp edx, 2
push 2
pop eax
cmovb eax, edx
test eax, eax
je 0x47f6d8
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x47f6d1
test bh, bh
jne 0x47f744
movzx ecx, dl
mov edx, edi
jmp 0x47f191
call fcn.0047a597
jmp 0x47f6df
mov ecx, esi
call fcn.0047da2a
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], eax
mov dword [ecx], 2
add esp, 0x90
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, ebx
push 0x5aca44
call fcn.00576a40
pop eax
ud2
mov dword [esp + 0x24], ebx
mov bh, byte [esp + 0x68]
mov esi, dword [esp + 0x80]
mov dword [esp + 0x20], 4
mov ecx, dword [esp + 0x20]
mov edx, esi
lea eax, [ecx - 3]
cmp eax, 2
push 2
pop esi
cmovae eax, esi
test eax, eax
je 0x47f769
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x47f758
test bh, bh
je 0x47f3f4
push 0x24
pop edx
mov ecx, str.no_quit_in_start_without_look_behindP
push 0x5ac504
call fcn.00576e90
jmp 0x47f703
call fcn.0047a597
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], eax
jmp 0x47f390
mov ecx, edx
jmp 0x47f5da
bt ebx, 0x1e
jb 0x47f7a5
bt ebx, 0x1d
jae 0x47f7d3
mov ecx, dword [esp + 0xa4]
mov edx, edi
call fcn.0047dc33
cmp edi, ebp
jb 0x47f36b
mov edx, dword [esp + 0x10]
mov ecx, edi
jmp 0x47f7c9
mov edx, dword [esp + 0x10]
mov ecx, esi
jmp 0x47f63c
mov ecx, dword [esp + 0xa4]
mov edx, edi
jmp 0x47f4ba
mov edx, dword [esp + 0x10]
mov ecx, edi
jmp 0x47f6f9
mov ecx, edi
mov edx, ebp
jmp 0x47f6f9
mov ecx, ebx
push 0x5acac0
jmp 0x47f6fe
lea ecx, [esp + 0x48]
lea eax, [esp + 0x28]
mov edx, 0x5acab0
mov dword [ecx], 0x5acaa8
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
and dword [ecx + 0xc], 0
call fcn.005769a0
ud2