Function at 0x48060d
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 0x480632
and dword [ecx], 0
jmp 0x481fb8
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 0x480664
cmp byte [esi + 0x4c], 3
lea eax, [esi + 0x40]
mov ebx, 0x5ba69c
cmovne ebx, eax
cmp byte [ebx + 0xc], 2
jne 0x480729
cmp byte [edx + 0x18], 0
je 0x4806c5
mov eax, dword [esi + 0x278]
lea edi, [esp + 0x48]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.004802c1
mov edx, dword [edi + 4]
mov ebp, dword [edi]
cmp byte [edi + 8], 0
mov dword [esp + 4], edx
je 0x4807ae
movzx ebx, byte [esp + 0x51]
lea edi, [esi + 0x258]
mov ecx, edi
call fcn.0047ac35
test al, al
jne 0x4806b5
mov ecx, edi
mov edx, ebx
call fcn.00410e77
test al, al
jne 0x480718
mov eax, dword [esp]
mov edx, dword [esp + 4]
mov bl, byte [eax + ebx + 0x58]
jmp 0x4807b0
mov eax, dword [esi + 0x278]
lea edi, [esp + 0x48]
mov ecx, edi
mov dword [esp + 0x14], eax
call fcn.004802c1
mov edx, dword [edi + 4]
mov ebp, dword [edi]
cmp byte [edi + 8], 0
mov dword [esp + 4], edx
je 0x480a4e
movzx ebx, byte [esp + 0x51]
lea edi, [esi + 0x258]
mov ecx, edi
call fcn.0047ac35
test al, al
jne 0x4807c1
mov ecx, edi
mov edx, ebx
call fcn.00410e77
test al, al
je 0x4807c1
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], 4
jmp 0x480af7
mov eax, dword [edx + 4]
cmp byte [edx + 0x18], 0
mov dword [esp + 0x3c], edi
mov dword [esp + 0x44], eax
je 0x480a68
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.004802c1
mov eax, esi
mov ebp, dword [edi]
mov esi, dword [edi + 4]
cmp byte [edi + 8], 0
je 0x480b6e
movzx ecx, byte [esp + 0x51]
lea edi, [eax + 0x258]
mov dword [esp + 4], ecx
mov ecx, edi
call fcn.0047ac35
test al, al
jne 0x48079e
mov edx, dword [esp + 4]
mov ecx, edi
call fcn.00410e77
test al, al
jne 0x480ac9
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dl, byte [eax + ecx + 0x58]
jmp 0x480b70
mov bl, 2
movzx eax, bl
test ebp, ebp
je 0x4807f5
cmp ebp, 1
jne 0x4807d1
add eax, 6
jmp 0x4807f5
mov eax, dword [esp]
mov edx, dword [esp + 4]
mov bl, byte [eax + ebx + 0x58]
jmp 0x480a50
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
je 0x480aeb
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x150], edx
jbe 0x48113c
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 0x5ba64c
push eax
call fcn.00470464
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x481629
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.00480325
mov edx, dword [esp + 8]
mov dword [esp + 4], ebp
cmp ebx, edx
jae 0x4809ba
cmp esi, 0x7ffffff
jbe 0x480892
mov edi, dword [esp + 0xa4]
mov edx, ebx
mov ecx, edi
call fcn.0048053c
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x481f06
movzx eax, byte [ebp + ebx]
mov ecx, dword [esp]
mov edx, edi
push eax
push esi
jmp 0x480989
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x74]
cmp ebx, edx
jae 0x4809b4
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 0x480935
cmp edi, 0x8000000
jae 0x480935
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 0x48093c
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 0x480941
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 0x48094c
mov ebp, dword [esp + 4]
add ebx, 4
jmp 0x48089c
mov ebx, ecx
mov ecx, dword [esp]
jmp 0x480948
mov eax, edi
inc ebx
jmp 0x480955
mov edx, dword [esp + 8]
add ebx, 2
mov eax, esi
jmp 0x480957
mov ecx, dword [esp]
mov ebx, dword [esp + 0x14]
mov eax, edi
mov edi, esi
mov ebp, dword [esp + 4]
test edi, edi
jns 0x4809a1
mov esi, dword [esp + 0xa4]
mov edx, ebx
mov edi, eax
mov ecx, esi
call fcn.0048053c
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x481fc3
movzx eax, byte [ebp + ebx]
mov ecx, dword [esp]
mov edx, esi
push eax
push edi
call fcn.004804a1
pop ecx
pop ecx
test eax, eax
jne 0x480f50
mov edi, edx
mov edx, dword [esp + 8]
mov ecx, dword [esp]
cmp edi, 0x8000000
jb 0x4809b2
mov eax, edi
and eax, 0x10000000
je 0x480a0c
mov esi, edi
inc ebx
jmp 0x480855
cmp edx, dword [esp + 0x10]
jae 0x480b33
movzx ebx, byte [ebp + edx]
mov edi, edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push ebx
push esi
call fcn.004804a1
pop ecx
pop ecx
test eax, eax
jne 0x480f7f
mov esi, edx
bt edx, 0x1b
mov eax, edi
jb 0x48157e
mov edx, edi
bt esi, 0x1d
jb 0x481a5a
mov ebx, dword [esp + 0xa4]
jmp 0x480b67
bt edi, 0x1b
jb 0x480cc5
mov ecx, dword [esp + 0xa4]
bt edi, 0x1e
jb 0x481511
bt edi, 0x1d
jae 0x48209f
mov edx, ebx
call fcn.004804ff
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x482093
movzx ecx, byte [ebp + ebx]
jmp 0x480fde
mov bl, 2
movzx eax, bl
test ebp, ebp
je 0x480d4c
cmp ebp, 1
jne 0x480ade
add eax, 6
jmp 0x480d4c
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.004802c1
mov eax, esi
mov ebp, dword [edi]
mov esi, dword [edi + 4]
cmp byte [edi + 8], 0
je 0x480fe5
movzx ecx, byte [esp + 0x51]
lea edi, [eax + 0x258]
mov dword [esp + 4], ecx
mov ecx, edi
call fcn.0047ac35
test al, al
jne 0x480cf8
mov edx, dword [esp + 4]
mov ecx, edi
call fcn.00410e77
test al, al
je 0x480cf8
mov eax, dword [esp + 4]
mov dword [esp + 0x18], 4
mov dword [esp + 0x1c], eax
jmp 0x48153d
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
jne 0x480d35
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 0x481fa4
mov edx, dword [esp + 0x1c]
cmp eax, 1
jne 0x481f9d
test esi, esi
je 0x482010
dec esi
movzx ecx, dl
mov edx, esi
jmp 0x481a5d
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push esi
call fcn.00480442
pop ecx
test eax, eax
jne 0x480f9f
mov eax, dword [esp + 0x10]
mov esi, edx
bt edx, 0x1b
jb 0x48157e
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 8]
xor edi, edi
jmp 0x4815a0
mov dl, 2
movzx eax, dl
test ebp, ebp
je 0x480b83
cmp ebp, 1
jne 0x480d08
add eax, 6
mov byte [esp + 4], dl
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 0x80]
mov edx, dword [edx + 0x88]
push 0x5ba64c
push eax
call fcn.00470464
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x481cfc
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.00480561
add esp, 0x14
lea eax, [esp + 0x6c]
cmp dword [eax], 0
je 0x481c56
mov dword [esp + 0x10], esi
cmp dword [esp + 0x88], 0
mov esi, dword [esp + 0x70]
je 0x4811ab
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.00480594
mov edi, dword [edi + 0x10]
mov dword [esp + 0x34], edi
sub edi, 1
jb 0x481150
cmp dword [esp + 0x54], edi
jbe 0x481150
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.0047ac35
test al, al
jne 0x481c63
mov edx, dword [esp + 0x30]
mov ecx, ebx
call fcn.00410e77
test al, al
je 0x481c63
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], 4
mov dword [esp + 0x24], eax
jmp 0x481af9
mov ebp, dword [esp + 0xa4]
mov edx, ebp
push 0
push edi
call fcn.004803c2
pop ecx
pop edx
mov ecx, ebp
mov edx, ebx
mov esi, eax
call fcn.004804ff
mov eax, dword [esp + 0xc]
mov dword [eax], 1
mov dword [eax + 4], esi
mov dword [eax + 8], ebx
jmp 0x481fb8
mov eax, dword [esp]
mov ecx, dword [esp + 4]
mov dl, byte [eax + ecx + 0x58]
jmp 0x480fe7
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
je 0x481531
mov ecx, dword [esp + 0x38]
mov byte [esp + 4], dl
cmp dword [ecx + 0x150], esi
jbe 0x481be2
imul ecx, esi, 6
lea eax, [ecx + eax + 0xc]
jmp 0x480b87
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x150], edx
jbe 0x48160e
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 0x5ba64c
push eax
call fcn.00470464
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x481b7f
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.00480325
mov edx, dword [esp + 8]
mov dword [esp + 0x3c], 0
mov dword [esp + 4], ebp
cmp ebx, edx
jae 0x480f57
cmp esi, 0x7ffffff
jbe 0x480df1
mov edi, dword [esp + 0xa4]
mov edx, ebx
mov ecx, edi
call fcn.0048053c
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x481f06
movzx eax, byte [ebp + ebx]
mov ecx, dword [esp]
mov edx, edi
push eax
push esi
jmp 0x480ef0
mov eax, dword [esp + 0xa4]
mov eax, dword [eax + 0x74]
mov dword [esp + 0x14], eax
cmp ebx, edx
jae 0x480e9e
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 0x480ea5
cmp edi, 0x8000000
jae 0x480ea5
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 0x480eab
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 0x480eb2
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 0x480ebb
mov ebp, dword [esp + 4]
mov edx, dword [esp + 8]
add ebx, 4
jmp 0x480dff
mov edi, esi
jmp 0x480f44
mov ebp, esi
mov ebx, ecx
jmp 0x480ec1
inc ebx
mov ebp, edx
mov edi, ecx
jmp 0x480ec1
add ebx, 2
mov ebp, ecx
mov edi, edx
jmp 0x480ec1
mov ebp, edx
mov edi, esi
mov ebx, eax
test edi, edi
jns 0x480efd
mov esi, dword [esp + 0xa4]
mov edx, ebx
mov ecx, esi
call fcn.0048053c
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x481fc3
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, esi
movzx eax, byte [eax + ebx]
push eax
push ebp
call fcn.004804a1
pop ecx
pop ecx
test eax, eax
jne 0x480f50
mov edi, edx
mov edx, dword [esp + 8]
cmp edi, 0x8000000
jb 0x480f44
mov eax, edi
and eax, 0x10000000
jne 0x480f44
bt edi, 0x1b
jae 0x480fa8
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push 0
push edi
call fcn.004803c2
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 0x480db4
mov ecx, ebx
jmp 0x481fa6
cmp edx, dword [esp + 0x10]
jae 0x480f86
movzx ebx, byte [ebp + edx]
mov edi, edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push ebx
push esi
call fcn.004804a1
pop ecx
pop ecx
test eax, eax
je 0x481a48
mov ecx, edi
jmp 0x481fa6
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push esi
call fcn.00480442
pop ecx
test eax, eax
je 0x481a67
mov ecx, dword [esp + 0x10]
jmp 0x481fa6
mov ecx, dword [esp + 0xa4]
bt edi, 0x1e
jb 0x481622
bt edi, 0x1d
jae 0x48209f
mov edx, ebx
call fcn.004804ff
mov edx, dword [esp + 0x10]
cmp ebx, edx
jae 0x482093
mov eax, dword [esp + 4]
movzx ecx, byte [eax + ebx]
mov edx, ebx
jmp 0x481a5d
mov dl, 2
movzx eax, dl
test ebp, ebp
je 0x480ffa
cmp ebp, 1
jne 0x481524
add eax, 6
mov byte [esp + 4], dl
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 0x80]
mov edx, dword [edx + 0x88]
push 0x5ba64c
push eax
call fcn.00470464
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x481e4a
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.00480561
add esp, 0x14
lea eax, [esp + 0x6c]
cmp dword [eax], 0
je 0x481c56
mov dword [esp + 4], esi
cmp dword [esp + 0x40], 0
mov esi, dword [esp + 0x70]
je 0x4816b5
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.00480594
mov edi, dword [edi + 0x10]
mov dword [esp + 0x38], edi
sub edi, 1
jb 0x48165a
cmp dword [esp + 0x54], edi
jbe 0x48165a
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.0047ac35
test al, al
jne 0x481dde
mov edx, dword [esp + 0x30]
mov ecx, ebx
call fcn.00410e77
test al, al
je 0x481dde
mov eax, dword [esp + 0x30]
mov dword [esp + 0x20], 4
mov dword [esp + 0x24], eax
jmp 0x481c90
mov ecx, dword [esp]
call fcn.0047e8e5
mov esi, dword [esp + 0xa4]
jmp 0x480817
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov bl, 2
movzx eax, bl
test ebp, ebp
je 0x48116d
cmp ebp, 1
jne 0x481ae0
add eax, 6
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 0x80]
mov edx, dword [edx + 0x88]
push 0x5ba64c
push eax
call fcn.00470464
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x481ece
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.00480325
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 0x4815b8
cmp ebp, 0x7ffffff
jbe 0x48121e
mov ecx, ebx
mov edx, esi
call fcn.0048053c
cmp esi, dword [esp + 0x10]
jae 0x482066
movzx eax, byte [edi + esi]
mov ecx, dword [esp]
mov edx, ebx
push eax
push ebp
call fcn.004804a1
pop ecx
pop ecx
test eax, eax
jne 0x481fa4
mov ebx, edx
mov edi, esi
jmp 0x48132e
mov eax, dword [ebx + 0x74]
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 8]
jae 0x4812cb
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 0x4812ec
mov edi, esi
cmp ebx, 0x8000000
jae 0x4812ee
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 0x4812d4
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 0x4812db
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 0x4812e4
mov esi, edi
mov edi, dword [esp + 4]
add esi, 4
jmp 0x481225
mov ebx, ebp
mov edi, esi
jmp 0x48143f
inc edi
mov esi, edx
mov ebx, ecx
jmp 0x4812f0
add edi, 2
mov esi, ecx
mov ebx, edx
jmp 0x4812f0
mov esi, edx
mov ebx, ebp
mov edi, eax
jmp 0x4812f0
mov edi, esi
mov esi, ebp
test ebx, ebx
jns 0x48132e
mov ebx, dword [esp + 0xa4]
mov edx, edi
mov ecx, ebx
call fcn.0048053c
cmp edi, dword [esp + 0x10]
jae 0x48207f
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, ebx
movzx eax, byte [eax + edi]
push eax
push esi
call fcn.004804a1
pop ecx
pop ecx
test eax, eax
jne 0x480f7f
mov ebx, edx
cmp ebx, 0x7ffffff
jbe 0x48143f
bt ebx, 0x1c
jae 0x481bff
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.00480561
add esp, 0x14
cmp dword [esp + 0x6c], 0
je 0x481c46
mov esi, dword [esp + 0x70]
cmp esi, edi
jbe 0x48143f
cmp dword [esp + 0x88], 0
je 0x481442
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.00480594
mov esi, dword [esp + 0x58]
mov edi, esi
sub edi, 1
setb bh
jb 0x481454
cmp dword [esp + 0x54], edi
jbe 0x481454
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.0047ac35
test al, al
jne 0x481427
mov ecx, esi
mov edx, ebx
call fcn.00410e77
test al, al
jne 0x481fd2
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 0x48145e
inc edi
mov esi, edi
mov ebp, ebx
mov edi, dword [esp + 4]
mov ebx, dword [esp + 0xa4]
jmp 0x4811d6
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 0x481491
cmp ebp, 1
jne 0x481473
add eax, 6
jmp 0x481491
test byte [esp + 0x30], 1
je 0x481f4a
mov ecx, dword [esp + 0x38]
cmp dword [ecx + 0x150], edx
jbe 0x4814d0
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 0x5ba64c
push eax
call fcn.00470464
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x4814da
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 5
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
jmp 0x481442
mov ecx, dword [esp]
call fcn.0047e8e5
jmp 0x4814b3
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.00582978
add esp, 0xc
cmp dword [esp + 0x20], 5
je 0x4814c3
jmp 0x481fe9
mov edx, ebx
call fcn.004804ff
mov eax, dword [esp + 0xc]
and dword [eax], 0
jmp 0x481fb8
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
jne 0x481ac0
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 0x481575
cmp eax, 1
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
jne 0x481f9d
test eax, eax
je 0x482010
dec eax
movzx ecx, dl
mov edx, eax
jmp 0x481a5d
mov ecx, dword [esp + 0x2c]
jmp 0x481fa6
mov ebx, dword [esp + 0xa4]
mov ecx, dword [esp]
mov ebp, eax
mov edx, ebx
push 0
push esi
call fcn.004803c2
mov edx, dword [esp + 0x10]
add esp, 8
xor edi, edi
mov esi, eax
inc edi
mov ecx, ebx
call fcn.004804ff
mov eax, dword [esp + 0xc]
mov dword [eax], edi
mov dword [eax + 4], esi
mov dword [eax + 8], ebp
jmp 0x481fb8
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x10]
jae 0x481bb0
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.004804a1
pop ecx
pop ecx
test eax, eax
jne 0x480f7f
mov esi, edx
bt edx, 0x1b
mov dword [esp + 0x10], edi
jb 0x481df2
mov edx, edi
bt esi, 0x1d
jb 0x481a5a
mov ebx, dword [esp + 0xa4]
jmp 0x481bdb
mov ecx, dword [esp]
call fcn.0047e8e5
mov esi, dword [esp + 0xa4]
jmp 0x480d6e
mov edx, ebx
jmp 0x481aa6
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.00582978
add esp, 0xc
cmp dword [edi], 5
je 0x48082b
jmp 0x480af7
mov ebp, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov bl, 2
movzx eax, bl
test ebp, ebp
je 0x481677
cmp ebp, 1
jne 0x481c77
add eax, 6
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [edx + 0x80]
mov edx, dword [edx + 0x88]
push 0x5ba64c
push eax
call fcn.00470464
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x481f12
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.00480325
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 0x481b2e
cmp ebp, 0x7ffffff
jbe 0x481734
mov ecx, edi
mov edx, esi
call fcn.0048053c
cmp esi, dword [esp + 0x10]
jae 0x482066
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, edi
movzx eax, byte [eax + esi]
push eax
push ebp
call fcn.004804a1
pop ecx
pop ecx
test eax, eax
jne 0x481fa4
mov ebp, dword [esp + 0x10]
mov ebx, edx
mov edi, esi
jmp 0x481846
mov eax, dword [edi + 0x74]
mov dword [esp + 0x14], eax
cmp esi, dword [esp + 8]
jae 0x4817e1
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 0x481802
mov edi, esi
cmp ebx, 0x8000000
jae 0x481804
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 0x4817ea
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 0x4817f1
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 0x4817fa
mov esi, edi
add esi, 4
jmp 0x48173b
mov ebx, ebp
mov edi, esi
jmp 0x481a37
inc edi
mov esi, edx
mov ebx, ecx
jmp 0x481806
add edi, 2
mov esi, ecx
mov ebx, edx
jmp 0x481806
mov esi, edx
mov ebx, ebp
mov edi, eax
jmp 0x481806
mov edi, esi
mov esi, ebp
mov ebp, dword [esp + 0x10]
test ebx, ebx
jns 0x481846
mov ebx, dword [esp + 0xa4]
mov edx, edi
mov ecx, ebx
call fcn.0048053c
cmp edi, ebp
jae 0x48208a
mov eax, dword [esp + 4]
mov ecx, dword [esp]
mov edx, ebx
movzx eax, byte [eax + edi]
push eax
push esi
call fcn.004804a1
pop ecx
pop ecx
test eax, eax
jne 0x480f7f
mov ebx, edx
cmp ebx, 0x7ffffff
jbe 0x481a37
bt ebx, 0x1c
jae 0x481a0a
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.00480561
add esp, 0x14
cmp dword [esp + 0x6c], 0
je 0x481bef
mov esi, dword [esp + 0x70]
cmp esi, edi
jbe 0x481a37
cmp dword [esp + 0x40], 0
je 0x481a3a
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.00480594
mov esi, dword [esp + 0x58]
mov edi, esi
sub edi, 1
setb bh
jb 0x481950
cmp dword [esp + 0x54], edi
jbe 0x481950
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.0047ac35
test al, al
jne 0x481938
mov ecx, esi
mov edx, ebx
call fcn.00410e77
test al, al
jne 0x481f5b
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 0x48195a
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 0x48198d
cmp ebp, 1
jne 0x48196f
add eax, 6
jmp 0x48198d
test byte [esp + 0x30], 1
je 0x481ebd
mov ecx, dword [esp + 0x34]
cmp dword [ecx + 0x150], edx
jbe 0x4819c9
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 0x5ba64c
push eax
call fcn.00470464
pop ecx
pop edx
mov eax, dword [eax]
test eax, eax
js 0x4819d3
mov dword [esp + 0x24], eax
mov dword [esp + 0x20], 5
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x14]
jmp 0x481a3a
mov ecx, dword [esp]
call fcn.0047e8e5
jmp 0x4819af
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.00582978
add esp, 0xc
cmp dword [esp + 0x20], 5
je 0x4819bf
jmp 0x481f72
bt ebx, 0x1b
jae 0x48203c
mov ecx, dword [esp]
mov edx, dword [esp + 0xa4]
push 0
push ebx
call fcn.004803c2
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 0x4816e4
mov esi, edx
bt edx, 0x1b
mov ebp, edi
jb 0x481a77
mov edx, edi
bt esi, 0x1d
jae 0x481a9f
movzx ecx, bl
call fcn.0048030c
jmp 0x481fab
mov esi, edx
bt edx, 0x1b
mov edx, dword [esp + 8]
jae 0x481a9f
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push 0
push esi
call fcn.004803c2
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.004804ff
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x44]
mov edx, dword [esp + 0x40]
jmp 0x481d9b
mov ecx, dword [esp + 0x34]
mov byte [esp + 4], dl
cmp dword [ecx + 0x150], esi
jbe 0x481ccf
imul ecx, esi, 6
lea eax, [ecx + eax + 0xc]
jmp 0x480ffe
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
jne 0x481cdc
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 0x481e81
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x482024
cmp dword [esp + 0x34], 0
jne 0x481cc0
jmp 0x482010
mov eax, dword [esp + 8]
cmp eax, dword [esp + 0x10]
jae 0x481d33
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.004804a1
pop ecx
pop ecx
test eax, eax
jne 0x480f7f
mov esi, edx
bt edx, 0x1b
mov ebp, edi
jb 0x481d57
mov edx, edi
bt esi, 0x1d
jb 0x481a5a
jmp 0x481d7f
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.00582978
add esp, 0xc
cmp dword [edi], 5
jne 0x480af7
jmp 0x480d82
mov ecx, dword [esp]
mov edx, ebx
push ebp
call fcn.00480442
pop ecx
test eax, eax
jne 0x480f9f
mov esi, edx
bt edx, 0x1b
jb 0x481df2
mov ebx, dword [esp + 0xa4]
mov edx, dword [esp + 8]
xor edi, edi
jmp 0x481e12
mov ecx, dword [esp]
call fcn.0047e8e5
jmp 0x480ba9
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 8]
jmp 0x481d86
bt ebx, 0x1b
jb 0x481da8
bt ebx, 0x1e
jb 0x481e94
bt ebx, 0x1d
jae 0x48209f
mov ecx, dword [esp + 0xa4]
mov edx, edi
call fcn.004804ff
mov edx, dword [esp + 0x10]
cmp edi, edx
jae 0x482062
mov eax, dword [esp + 4]
mov edx, edi
movzx ecx, byte [eax + edi]
jmp 0x481a5d
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 8]
call fcn.004804ff
mov ecx, dword [esp + 0xc]
xor esi, esi
mov dword [ecx], esi
jmp 0x481fb8
mov eax, dword [esp]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov bl, byte [eax + ecx + 0x58]
jmp 0x48115a
mov ecx, dword [esp]
test byte [ecx + 0x51], 1
jne 0x481e2e
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 0x481ea2
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x482024
cmp dword [esp + 0x38], 0
je 0x482010
movzx ecx, dl
mov edx, edi
call fcn.0048030c
jmp 0x482029
mov ecx, dword [esp]
call fcn.0047e8e5
jmp 0x481020
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x14], edx
cmp dword [ecx + 0x150], edx
jbe 0x481e87
imul ecx, edx, 6
lea eax, [ecx + eax + 0xc]
jmp 0x481171
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.00582978
add esp, 0xc
cmp dword [edi], 5
je 0x480bbd
jmp 0x48153d
mov ecx, dword [esp]
mov edx, edi
push ebp
call fcn.00480442
pop ecx
test eax, eax
jne 0x480f9f
mov esi, edx
bt edx, 0x1b
mov edx, dword [esp + 8]
mov ebp, dword [esp + 0x10]
jae 0x481d7f
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp]
push 0
push esi
call fcn.004803c2
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.004804ff
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 0x481fb8
mov esi, dword [esp + 0xa4]
mov ecx, dword [esp]
mov edx, esi
push 0
push ebx
call fcn.004803c2
pop ecx
pop edx
mov ecx, esi
mov edx, edi
mov esi, eax
call fcn.004804ff
mov eax, dword [esp + 0xc]
mov dword [eax], 1
mov dword [eax + 4], esi
mov dword [eax + 8], edi
jmp 0x481fb8
mov eax, dword [esp]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
mov bl, byte [eax + ecx + 0x58]
jmp 0x481664
mov ebx, dword [esp + 0xa4]
mov ecx, dword [esp]
mov edx, ebx
push 0
push esi
call fcn.004803c2
mov edx, dword [esp + 0x10]
add esp, 8
xor edi, edi
mov esi, eax
inc edi
mov ecx, ebx
call fcn.004804ff
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 0x481fb8
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x14], edx
cmp dword [ecx + 0x150], edx
jbe 0x481eb0
imul ecx, edx, 6
lea eax, [ecx + eax + 0xc]
jmp 0x48167b
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.00582978
add esp, 0xc
cmp dword [edi], 5
je 0x481034
jmp 0x48153d
mov ecx, dword [esp + 0x34]
jmp 0x481ea6
mov ecx, dword [esp]
call fcn.0047e8e5
jmp 0x481193
mov ecx, dword [esp + 0xa4]
mov edx, edi
jmp 0x481513
mov ecx, dword [esp + 0x38]
call fcn.004802f6
jmp 0x482029
mov ecx, dword [esp]
call fcn.0047e8e5
jmp 0x48169d
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], 2
jmp 0x481f72
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.00582978
add esp, 0xc
cmp dword [ebx], 5
jne 0x481af9
jmp 0x4811a7
mov ecx, ebx
push 0x5ba8b4
jmp 0x481fca
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.00582978
add esp, 0xc
cmp dword [ebx], 5
je 0x4816b1
jmp 0x481c90
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], 2
jmp 0x481fe9
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 0x481fa4
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x481f9d
test bh, bh
jne 0x482010
movzx ecx, dl
mov edx, edi
jmp 0x481a5d
call fcn.0047ce75
jmp 0x481fab
mov ecx, esi
call fcn.004802f6
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 0x5ba8a4
call fcn.00580e40
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 0x482035
mov edx, dword [esp + 0x24]
cmp eax, 1
jne 0x482024
test bh, bh
je 0x481cc0
push 0x24
pop edx
mov ecx, str.no_quit_in_start_without_look_behind
push 0x5ba364
call fcn.00581290
jmp 0x481fcf
call fcn.0047ce75
mov ecx, dword [esp + 0xc]
mov dword [ecx + 4], eax
jmp 0x481c5c
mov ecx, edx
jmp 0x481ea6
bt ebx, 0x1e
jb 0x482071
bt ebx, 0x1d
jae 0x48209f
mov ecx, dword [esp + 0xa4]
mov edx, edi
call fcn.004804ff
cmp edi, ebp
jb 0x481c37
mov edx, dword [esp + 0x10]
mov ecx, edi
jmp 0x482095
mov edx, dword [esp + 0x10]
mov ecx, esi
jmp 0x481f08
mov ecx, dword [esp + 0xa4]
mov edx, edi
jmp 0x481d86
mov edx, dword [esp + 0x10]
mov ecx, edi
jmp 0x481fc5
mov ecx, edi
mov edx, ebp
jmp 0x481fc5
mov ecx, ebx
push 0x5ba920
jmp 0x481fca
lea ecx, [esp + 0x48]
lea eax, [esp + 0x28]
mov edx, 0x5ba910
mov dword [ecx], 0x5ba908
mov dword [ecx + 4], 1
and dword [ecx + 0x10], 0
mov dword [ecx + 8], eax
and dword [ecx + 0xc], 0
call fcn.00580da0
ud2