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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xd4
push ebx
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebx + 4]
push esi
push edi
mov edi, eax
mov eax, dword [edi]
mov edx, dword [ecx + eax*4]
mov eax, dword [edx]
mov esi, dword [eax]
push esi
call fcn.00498f61
add esp, 4
mov dword [esp + 0x34], eax
inc eax
je 0x4b197f
add eax, 7
shr eax, 3
add eax, eax
add eax, eax
add eax, eax
xor ecx, ecx
mov dword [esp + 0x38], eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00499377
mov ecx, dword [esp + 0x38]
add esp, 4
lea edx, [ecx + ecx + 2]
push edx
push esi
push eax
mov dword [esp + 0x3c], eax
call fcn.00498c00
add esp, 0xc
push 4
call fcn.00499377
add esp, 4
test eax, eax
je 0x4b1989
mov dword [eax], 1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x140], 0
mov dword [esp + 0x3c], eax
je 0x4b1a5f
cmp dword [eax], 1
jg 0x4b1990
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call dword [fcn.00481630]
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x13c]
test esi, esi
jne 0x4b19f7
mov esi, dword [eax + 0x134]
test esi, esi
je 0x4b1a5f
mov dword [esp + 0x1c], esi
lea esp, [esp]
mov edx, dword [esi + 4]
cmp edx, dword [esp + 0x34]
jne 0x492515
test edx, edx
je 0x491659
mov ecx, dword [esp + 0x30]
mov eax, dword [esi]
jmp 0x491640
mov si, word [eax]
cmp si, word [ecx]
jne 0x492511
add eax, 2
add ecx, 2
dec edx
jne 0x491640
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x3c]
dec dword [eax]
jne 0x49167b
mov ecx, dword [esp + 0x30]
push ecx
call fcn.00498f7c
mov edx, dword [esp + 0x40]
add esp, 4
push edx
call fcn.00498f7c
add esp, 4
mov eax, esi
test eax, eax
je 0x4b1a68
mov edx, dword [eax + 0x14]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x5c], edx
mov edx, dword [eax + 0x10]
mov eax, dword [edi]
mov dword [esp + 0x44], ecx
mov dword [esp + 0xcc], edx
mov edx, dword [ebx + 4]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x148]
inc eax
mov dword [edi], eax
mov esi, dword [ebx + 4]
mov dword [esp + 0xdc], ecx
xor ecx, ecx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], 1
mov dword [esp + 0x2c], ecx
mov esi, dword [esi + eax*4]
cmp word [esi + 8], 0x47
mov dword [esp + 0x30], 0x4870e0
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x60], 0x48b6f0
mov dword [esp + 0x64], ecx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ecx
jne 0x4b19eb
inc eax
mov dword [esp + 0x7c], edx
mov edx, eax
mov dword [esp + 0x18], ecx
xor esi, esi
mov dword [esp + 0x54], edx
mov dword [edi], eax
mov ecx, dword [ebx + 4]
mov ecx, dword [ecx + eax*4]
movsx ecx, word [ecx + 8]
cmp ecx, 0x47
jge 0x49172c
inc eax
jmp 0x491718
sub ecx, 0x47
je 0x4b1ac4
dec ecx
jne 0x4b1a9b
test esi, esi
jne 0x4b1abd
mov dword [esp + 0x14], eax
inc eax
mov dword [edi], eax
mov eax, dword [esp + 0xcc]
cmp eax, dword [0x4a90f8]
jg 0x4b1aca
cmp eax, ecx
jle 0x4b1aca
shl eax, 4
add eax, dword [0x4a912c]
mov dword [esp + 0x50], eax
mov dword [esp + 0x70], ecx
cmp dword [esp + 0x5c], ecx
jle 0x491942
mov dword [esp + 0x10], 3
mov dword [esp + 0x78], ecx
lea ecx, [ecx]
cmp edx, dword [esp + 0x14]
jae 0x491942
mov ecx, dword [esp + 0x50]
mov eax, dword [ecx + 4]
mov ecx, dword [esp + 0x10]
inc dword [esp + 0x70]
lea eax, [eax + ecx*4]
mov ecx, dword [eax]
xor edi, edi
xor bl, bl
cmp word [ecx + 8], di
je 0x4b1ad3
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [ecx + edx*4]
cmp word [edx + 8], 0x33
je 0x4917ce
xor bl, bl
mov esi, dword [esp + 0x68]
mov eax, dword [esp + 0x6c]
cmp esi, eax
je 0x492529
push 1
call fcn.00499377
add esp, 4
test eax, eax
je 0x4b1b0b
mov byte [eax], bl
mov edx, dword [esp + 0x64]
mov dword [edx + esi*4], eax
inc esi
mov dword [esp + 0x68], esi
test bl, bl
jne 0x4b1b12
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x4b1c1c
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x4b1c2f
cmp eax, 0xa
je 0x4b1c54
cmp eax, 5
je 0x4b1c6b
cmp eax, 0xb
je 0x4b1c79
cmp eax, 0xc
je 0x4b1c9b
mov esi, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x28], 1
mov dword [esp + 0x20], 0
cmp esi, eax
je 0x492586
mov edi, dword [esp + 0x34]
push 0x10
call fcn.00499377
add esp, 4
test eax, eax
je 0x4b1e81
mov ebx, eax
mov eax, dword [esp + 0x28]
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], 0
cmp eax, 1
jne 0x4b1cb2
mov edx, dword [esp + 0x20]
mov dword [ebx], edx
mov eax, ebx
mov ebx, dword [esp + 0x14]
mov ecx, dword [ebp + 0xc]
mov dword [edi + esi*4], eax
inc esi
push ebx
mov dword [esp + 0x3c], esi
mov esi, dword [edi + esi*4 - 4]
push esi
lea eax, [esp + 0x5c]
push eax
push ecx
mov ecx, dword [ebp + 8]
call fcn.00492620
test eax, eax
jne 0x4b307e
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + eax*4 + 4]
inc eax
cmp word [edx + 8], 0x41
mov dword [esp + 0x10], eax
je 0x4b1e88
mov edx, dword [esp + 0x54]
cmp edx, ebx
je 0x491942
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 4]
mov eax, dword [eax + edx*4]
mov ecx, 0x40
cmp word [eax + 8], cx
jne 0x4b1ed7
lea eax, [edx + 1]
cmp eax, dword [esp + 0x14]
je 0x4b1ed7
mov esi, dword [esp + 0x10]
mov edx, eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x54], edx
mov eax, dword [eax + 4]
mov eax, dword [eax + esi*4]
cmp word [eax + 8], cx
jne 0x49192f
inc dword [esp + 0x10]
mov eax, dword [esp + 0x78]
inc eax
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jl 0x491790
mov eax, dword [esp + 0x70]
cmp eax, dword [esp + 0x44]
jl 0x4b306e
cmp eax, dword [esp + 0x5c]
jg 0x4b306e
cmp edx, dword [esp + 0x14]
jne 0x4b306e
mov ebx, dword [esp + 0xcc]
xor esi, esi
xor eax, eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x1c], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
cmp ebx, esi
jl 0x4b1ee9
cmp byte [0x4a7f3d], al
jne 0x4b1ef2
push 0xc
call fcn.00499377
add esp, 4
cmp eax, esi
je 0x4b1f95
mov edi, eax
mov dword [edi], esi
mov edx, dword [esp + 0x4c]
mov dword [edi + 4], edx
cmp dword [esp + 0x4c], esi
jl 0x4b1f13
mov eax, dword [esp + 0x48]
cmp eax, esi
jne 0x4b1f1b
mov dword [edi], esi
mov ecx, dword [0x4a7f38]
mov dword [edi + 8], ecx
mov dword [0x4a7f38], edi
mov eax, dword [esp + 0x48]
inc dword [0x4a7f34]
cmp eax, esi
jne 0x4b1f9c
mov eax, 1
cmp dword [esp + 0x5c], eax
jl 0x491e79
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx + 4]
mov esi, dword [esp + 0x10]
xor ebx, ebx
or edx, 0xffffffff
mov word [esp + 0xd8], dx
mov dword [esp + 0xbc], 0x484adc
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], ebx
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x7c], ebx
mov edi, dword [ecx + esi*4]
lea edx, [ecx + esi*4]
xor eax, eax
mov word [esp + 0xda], ax
mov dword [esp + 0x14], eax
cmp word [edi + 8], bx
je 0x4b1fef
mov edx, dword [esp + 0x78]
cmp edx, dword [esp + 0x70]
jg 0x4b2056
mov edi, dword [esp + 0x64]
mov edx, dword [esp + 0x1c]
mov edi, dword [edi + edx*4]
or eax, 0x200
cmp byte [edi], bl
jne 0x4b2026
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
mov edx, dword [edx + esi*4]
mov esi, eax
mov eax, dword [esp + 0x10]
add eax, eax
add eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [eax + ecx]
mov edi, dword [eax]
cmp dword [0x4a7f34], ebx
je 0x4b2120
mov dword [esp + 0x18], edx
cmp byte [0x4a7f3d], bl
jne 0x4b2133
mov ebx, dword [0x4a7f38]
xor eax, eax
mov dword [esp + 0x14], ebx
cmp dword [ebx], eax
je 0x491b9c
test byte [0x4a95e4], 1
mov byte [esp + 0x43], al
je 0x4b2141
mov dword [0x4a95e0], eax
mov dword [0x4a95dc], eax
mov eax, 0x4a95c4
mov dword [esp + 0x74], eax
mov dword [esp + 0x58], eax
mov eax, dword [edi + 4]
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
test eax, eax
je 0x4b2166
test edx, edx
je 0x4b216e
cmp eax, edx
jb 0x4b218e
test eax, eax
je 0x4b217f
mov ecx, dword [ecx]
mov edx, eax
mov eax, dword [edi]
mov bx, word [eax]
cmp bx, word [ecx]
jne 0x491b3a
add eax, 2
add ecx, 2
dec edx
jne 0x491b24
jmp 0x4b217b
mov ebx, dword [esp + 0x14]
jb 0x4b2186
mov eax, 1
test eax, eax
js 0x4b219c
jle 0x4b2237
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x4b21ee
cmp byte [esp + 0x43], 0
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x1c], ecx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x58]
mov dword [edx + 0x18], ecx
mov eax, dword [ebx]
mov ecx, dword [0x4a95e0]
mov dword [eax + 0x18], ecx
mov edx, dword [ebx]
mov eax, dword [0x4a95dc]
mov dword [edx + 0x1c], eax
jne 0x4b2241
and esi, 0xff00
push 0x20
mov dword [esp + 0x48], esi
call fcn.00499377
add esp, 4
test eax, eax
je 0x4b2264
mov esi, eax
xor ecx, ecx
mov eax, 8
mov dword [esi + 8], eax
mov edx, 2
mul edx
seto cl
mov dword [esi + 4], 0
neg ecx
or ecx, eax
push ecx
call fcn.00499377
add esp, 4
xor ecx, ecx
mov dword [esi], eax
push 4
mov word [eax], cx
call fcn.00499377
add esp, 4
test eax, eax
je 0x4b225d
mov dword [eax], 1
mov dword [esi + 0xc], eax
mov ebx, esi
cmp ebx, edi
je 0x491c3e
mov eax, dword [ebx + 0xc]
cmp dword [eax], 1
jg 0x4b226b
mov esi, dword [edi + 4]
lea eax, [esi + 1]
mov dword [ebx + 4], esi
cmp dword [ebx + 8], eax
jb 0x4b228a
mov edx, dword [ebx + 4]
mov ecx, dword [edi]
lea eax, [edx + edx + 2]
mov edx, dword [ebx]
push eax
push ecx
push edx
call fcn.00498c00
add esp, 0xc
mov eax, dword [esp + 0x44]
push 0x10
mov dword [ebx + 0x10], eax
call fcn.00499377
xor ecx, ecx
add esp, 4
cmp eax, ecx
je 0x491cab
mov edi, dword [esp + 0x18]
mov edx, dword [edi + 8]
mov esi, eax
lea eax, [edx - 1]
mov dword [esp + 0x58], esi
mov dword [esi + 8], edx
mov dword [esi + 0xc], ecx
cmp eax, 0xb
ja 0x491ca7
jmp dword [eax*4 + 0x40a9e4]
mov ecx, dword [esp + 0x58]
mov eax, dword [esp + 0x14]
xor edi, edi
mov dword [ebx + 0x14], ecx
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
mov esi, dword [eax]
cmp esi, edi
je 0x4925d9
test byte [0x4a95e4], 1
je 0x4b243e
mov eax, 0x4a95c4
mov dword [0x4a95e0], edi
mov dword [0x4a95dc], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x58], eax
lea ebx, [ebx]
mov eax, dword [ebx + 4]
mov edx, dword [esi + 4]
cmp eax, edi
je 0x4b2461
cmp edx, edi
je 0x4b2469
cmp eax, edx
jb 0x4b2489
cmp eax, edi
jbe 0x4b2478
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
lea esp, [esp]
mov di, word [eax]
cmp di, word [ecx]
jne 0x491d36
add eax, 2
add ecx, 2
dec edx
jne 0x491d20
jmp 0x4b2476
jb 0x4b247f
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x4b2497
jle 0x491d5e
lea eax, [esi + 0x1c]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
jne 0x4b24f6
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x58]
mov dword [eax + 0x1c], edx
mov ecx, dword [esi + 0x1c]
mov edx, dword [esp + 0x74]
mov dword [edx + 0x18], ecx
mov eax, dword [0x4a95e0]
mov edx, dword [esi + 4]
mov dword [esi + 0x18], eax
mov ecx, dword [0x4a95dc]
mov dword [esi + 0x1c], ecx
mov eax, dword [ebx + 4]
cmp eax, edi
je 0x4b2544
cmp edx, edi
je 0x4b254c
cmp eax, edx
jb 0x4b256c
cmp eax, edi
jbe 0x4b255b
mov ecx, dword [esi]
mov edx, eax
mov eax, dword [ebx]
nop
mov di, word [eax]
cmp di, word [ecx]
jne 0x491dc6
add eax, 2
add ecx, 2
dec edx
jne 0x491db0
jmp 0x4b2559
jb 0x4b2562
mov eax, 1
xor edi, edi
cmp eax, edi
jl 0x4b257a
jle 0x4b258b
mov ecx, dword [0x4a95dc]
mov dword [ebx + 0x1c], ecx
mov dword [ebx + 0x18], esi
mov dword [esi + 0x1c], edi
mov eax, dword [esp + 0x14]
mov dword [eax], ebx
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 4]
mov ecx, dword [esp + 0x48]
mov edx, dword [ecx + eax + 4]
cmp word [edx + 8], 0x41
je 0x4b2592
add dword [esp + 0x10], 2
mov ax, word [esp + 0xd8]
inc dword [esp + 0x1c]
cmp ax, 0x30
jge 0x4b25c6
cmp dword [esp + 0xc4], 0
mov dword [esp + 0xbc], 0x484adc
ja 0x4b25ea
mov ecx, dword [esp + 0xc0]
push ecx
mov dword [esp + 0xc8], 0
call fcn.00498f7c
mov eax, dword [esp + 0x7c]
inc eax
add esp, 4
mov dword [esp + 0x78], eax
cmp eax, dword [esp + 0x5c]
jle 0x491a00
mov ebx, dword [esp + 0xcc]
mov esi, dword [ebp + 8]
mov edx, dword [esp + 0x70]
xor eax, eax
lea ecx, [eax + 1]
mov dword [esp + 0x80], eax
mov dword [esp + 0x8c], eax
mov byte [esp + 0x90], al
mov dword [esp + 0x94], eax
mov byte [esp + 0x98], al
mov dword [esp + 0xa0], eax
mov dword [esp + 0xac], eax
mov byte [esp + 0xb0], al
mov eax, dword [esi]
mov dword [esi + 0x148], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0xa8], ecx
mov ecx, dword [eax + 4]
cmp byte [ecx + esi + 0xd], 0
lea edi, [ecx + esi + 4]
jne 0x4b2613
push 0x40
call fcn.00499377
add esp, 4
test eax, eax
je 0x4b2665
xor ecx, ecx
mov edx, 1
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov dword [eax], ecx
mov byte [eax + 0x10], cl
mov dword [eax + 0x14], ecx
mov byte [eax + 0x18], cl
mov dword [eax + 0x28], edx
mov dword [eax + 0x2c], ecx
mov dword [eax + 0x20], ecx
mov byte [eax + 0x30], cl
mov ecx, dword [edi + 4]
mov dword [eax + 0x38], ecx
mov dword [edi + 4], eax
inc dword [edi]
mov edx, dword [esi + 0xf4]
lea eax, [ebx + 1]
mov ebx, dword [esi + 0x16c]
lea edi, [esi + 0x16c]
push eax
mov ecx, esi
mov dword [esp + 0x4c], edx
call fcn.00491080
cmp ebx, dword [edi]
jb 0x4b266c
mov eax, dword [esp + 0x48]
mov edi, esi
mov ecx, dword [edi]
mov dword [edi + 0xf4], eax
mov edx, dword [ecx + 4]
cmp byte [edx + edi + 0xd], 0
lea eax, [edx + edi + 4]
mov eax, dword [eax + 4]
jne 0x4b267a
cmp byte [eax + 0x10], 0
je 0x4b289f
mov ecx, dword [ebp + 0x14]
mov byte [ecx], 1
mov edx, dword [edi]
mov eax, dword [edx + 4]
cmp byte [eax + edi + 0xd], 0
lea eax, [eax + edi + 4]
jne 0x4b2682
mov esi, dword [eax + 4]
mov ebx, dword [ebp + 0x10]
cmp ebx, esi
je 0x49202b
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x4b268d
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x4b269f
cmp eax, 0xa
je 0x4b26c0
cmp eax, 5
je 0x4b26d5
cmp eax, 0xb
je 0x4b26e1
cmp eax, 0xc
je 0x4b26ff
mov dword [ebx + 8], 1
mov dword [ebx], 0
mov eax, dword [esi + 8]
mov dword [ebx + 8], eax
cmp eax, 4
jne 0x4b2714
push 0x10
call fcn.00499377
add esp, 4
test eax, eax
je 0x4b2890
mov ecx, dword [esi + 0xc]
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov ecx, dword [ecx + 0xc]
mov dword [eax + 0xc], ecx
inc dword [ecx]
mov dword [ebx + 0xc], eax
mov ecx, dword [edi]
mov edx, dword [ecx + 4]
cmp byte [edx + edi + 0xd], 0
mov eax, dword [edx + edi + 8]
lea esi, [edx + edi + 4]
jne 0x4b2897
cmp byte [eax + 0x18], 0
jne 0x4b28bf
cmp byte [esi + 9], 0
jne 0x4b28d5
mov eax, dword [esi + 4]
cmp byte [eax + 0x30], 0
jne 0x4b28e0
mov ebx, dword [ebp + 8]
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
cmp byte [ecx + ebx + 0xd], 0
lea edi, [ecx + ebx + 4]
jne 0x4b28fc
cmp byte [edi + 8], 0
jne 0x4b291c
mov esi, dword [edi + 4]
mov edx, dword [esi + 0x38]
mov dword [esp + 0x48], edx
test esi, esi
je 0x492151
mov eax, dword [esi + 0x2c]
test eax, eax
jne 0x4b2925
mov eax, dword [esi + 0x28]
cmp eax, 8
je 0x4b2937
cmp eax, 0xa
je 0x4b295a
cmp eax, 5
je 0x4b2970
cmp eax, 0xb
je 0x4b297d
cmp eax, 0xc
je 0x4b299d
mov dword [esi + 0x28], 1
mov dword [esi + 0x20], 0
mov ebx, dword [esi + 0xc]
test ebx, ebx
je 0x492108
mov eax, dword [ebx + 0xc]
dec dword [eax]
mov ecx, dword [ebx + 0xc]
cmp dword [ecx], 0
je 0x4b29b3
push ebx
call fcn.00498f7c
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x4b29cf
cmp eax, 0xa
je 0x4b29f0
cmp eax, 5
je 0x4b2a05
cmp eax, 0xb
je 0x4b2a11
cmp eax, 0xc
je 0x4b2a2f
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.00498f7c
mov ebx, dword [ebp + 8]
add esp, 4
mov edx, dword [esp + 0x48]
mov dword [edi + 4], edx
mov byte [edi + 9], 0
dec dword [edi]
mov eax, dword [ebx]
mov eax, dword [eax + 4]
mov ecx, dword [eax + ebx + 8]
add eax, ebx
cmp byte [eax + 0xd], 0
jne 0x4b2a44
mov edx, dword [esp + 0x94]
mov dword [ecx + 0x14], edx
cmp byte [eax + 0xd], 0
mov eax, dword [eax + 8]
jne 0x4b2a4c
mov byte [eax + 0x18], 0
mov ecx, dword [ebx]
mov eax, dword [ecx + 4]
add eax, ebx
cmp byte [eax + 0xd], 0
mov dword [esp + 0x48], eax
jne 0x4b2a54
mov eax, dword [eax + 8]
lea ebx, [eax + 0x20]
lea eax, [esp + 0xa0]
cmp ebx, eax
je 0x492211
mov eax, dword [ebx + 0xc]
test eax, eax
jne 0x4b2a5f
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x4b2a71
cmp eax, 0xa
je 0x4b2a92
cmp eax, 5
je 0x4b2aa7
cmp eax, 0xb
je 0x4b2ab3
cmp eax, 0xc
je 0x4b2ad1
mov eax, dword [esp + 0xa8]
mov dword [ebx], 0
mov dword [ebx + 8], eax
cmp eax, 1
jne 0x4b2ae6
mov eax, dword [esp + 0xa0]
mov dword [ebx], eax
mov edi, dword [esp + 0x68]
mov eax, dword [esp + 0x48]
cmp byte [eax + 0xd], 0
jne 0x4b2cc9
mov eax, dword [eax + 8]
mov byte [eax + 0x30], 0
cmp byte [0x4a7f3d], 0
jne 0x4b2cd4
mov ecx, dword [0x4a7f38]
cmp byte [0x4a7f3c], 0
jne 0x4b2cf6
mov esi, dword [ecx]
mov edx, dword [ecx + 8]
mov dword [esp + 0x44], edx
mov dword [esp + 0x48], ecx
test esi, esi
je 0x492325
mov eax, dword [esi + 0x18]
mov ebx, ecx
test eax, eax
je 0x49226e
push eax
call fcn.004932a0
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x4b2d06
cmp byte [esi + 0x10], 0
jne 0x4922f4
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x4922f4
mov edi, dword [ebx + 0xc]
test edi, edi
je 0x4922ae
mov eax, dword [edi + 0xc]
dec dword [eax]
mov eax, dword [edi + 0xc]
cmp dword [eax], 0
je 0x4b2d13
push edi
call fcn.00498f7c
add esp, 4
mov dword [ebx + 0xc], 0
mov eax, dword [ebx + 8]
cmp eax, 8
je 0x4b2d2f
cmp eax, 0xa
je 0x4b2d50
cmp eax, 5
je 0x4b2d65
cmp eax, 0xb
je 0x4b2d71
cmp eax, 0xc
je 0x4b2d8f
push ebx
mov dword [ebx + 8], 1
mov dword [ebx], 0
call fcn.00498f7c
add esp, 4
mov eax, dword [esi + 0xc]
dec dword [eax]
mov ecx, dword [esi + 0xc]
cmp dword [ecx], 0
jne 0x492318
mov edx, dword [esi]
push edx
call fcn.00498f7c
mov eax, dword [esi + 0xc]
add esp, 4
push eax
call fcn.00498f7c
add esp, 4
push esi
call fcn.00498f7c
mov edi, dword [esp + 0x6c]
add esp, 4
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0x64]
push ecx
call fcn.00498f7c
mov edx, dword [esp + 0x48]
add esp, 4
mov dword [0x4a7f38], edx
mov byte [0x4a7f3d], 0
mov eax, dword [esp + 0xdc]
dec dword [0x4a7f34]
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x148], eax
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x4b2da4
mov eax, dword [esp + 0xa8]
cmp eax, 8
je 0x4b2dba
cmp eax, 0xa
je 0x4b2dde
cmp eax, 5
je 0x4b2df8
cmp eax, 0xb
je 0x4b2e09
cmp eax, 0xc
je 0x4b2e2a
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
xor ecx, ecx
mov edx, 1
mov dword [esp + 0xa8], edx
mov dword [esp + 0xa0], ecx
cmp eax, ecx
jne 0x4b2e44
cmp esi, 8
je 0x4b2e61
cmp esi, 0xa
je 0x4b2e91
cmp esi, 5
je 0x4b2eb7
cmp esi, 0xb
je 0x4b2ecf
cmp esi, 0xc
je 0x4b2ef7
mov eax, dword [esp + 0x2c]
cmp eax, ecx
jne 0x4b2f1d
mov eax, dword [esp + 0x28]
cmp eax, 8
je 0x4b2f37
cmp eax, 0xa
je 0x4b2f63
cmp eax, 5
je 0x4b2f81
cmp eax, 0xb
je 0x4b2f96
cmp eax, 0xc
je 0x4b2fbf
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], ecx
cmp edi, ecx
jbe 0x492454
xor esi, esi
mov ecx, dword [ebx + esi*4]
push ecx
call fcn.00498f7c
inc esi
add esp, 4
cmp esi, edi
jb 0x492443
mov edx, dword [esp + 0x64]
push edx
call fcn.00498f7c
add esp, 4
cmp dword [esp + 0x38], 0
jbe 0x4924f0
xor ebx, ebx
mov edi, edi
mov eax, dword [esp + 0x34]
mov esi, dword [eax + ebx*4]
test esi, esi
je 0x4924e9
mov edi, dword [esi + 0xc]
test edi, edi
je 0x4924a3
mov eax, dword [edi + 0xc]
dec dword [eax]
mov ecx, dword [edi + 0xc]
cmp dword [ecx], 0
je 0x4b2fdd
push edi
call fcn.00498f7c
add esp, 4
mov dword [esi + 0xc], 0
mov eax, dword [esi + 8]
cmp eax, 8
je 0x4b2ff9
cmp eax, 0xa
je 0x4b301a
cmp eax, 5
je 0x4b302f
cmp eax, 0xb
je 0x4b303b
cmp eax, 0xc
je 0x4b3059
push esi
mov dword [esi + 8], 1
mov dword [esi], 0
call fcn.00498f7c
add esp, 4
inc ebx
cmp ebx, dword [esp + 0x38]
jb 0x492470
mov edx, dword [esp + 0x34]
push edx
call fcn.00498f7c
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov esi, dword [esp + 0x1c]
mov esi, dword [esi + 0x20]
mov dword [esp + 0x1c], esi
test esi, esi
jne 0x491620
jmp 0x4b1a5f
add eax, eax
cmp eax, 4
jae 0x492535
mov eax, 4
xor ecx, ecx
mov dword [esp + 0x6c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00499377
mov edx, dword [esp + 0x68]
add esp, 4
lea ecx, [esi*4]
push ecx
push edx
push eax
mov dword [esp + 0x54], eax
call fcn.00498c00
mov eax, dword [esp + 0x70]
add esp, 0xc
push eax
call fcn.00498f7c
mov ecx, dword [esp + 0x4c]
add esp, 4
mov dword [esp + 0x64], ecx
jmp 0x4917de
add eax, eax
cmp eax, 4
jae 0x492592
mov eax, 4
xor ecx, ecx
mov dword [esp + 0x3c], eax
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00499377
mov ebx, dword [esp + 0x38]
mov edi, eax
add esp, 4
lea eax, [esi*4]
push eax
push ebx
push edi
call fcn.00498c00
add esp, 0xc
push ebx
call fcn.00498f7c
add esp, 4
mov dword [esp + 0x34], edi
jmp 0x491863
mov dword [ebx + 0x1c], edi
mov dword [ebx + 0x18], edi
jmp 0x491df4
mov eax, 8
jmp 0x491580
xor eax, eax
jmp 0x4915cc
mov eax, dword [esp + 0x3c]
dec dword [eax]
lea esi, [esp + 0x30]
call fcn.00488fa0
mov edx, dword [esp + 0x34]
inc edx
push edx
call 0x4cde20
xor ecx, ecx
mov esi, eax
mov edx, 2
mul edx
seto cl
mov dword [esp + 0x38], esi
neg ecx
or ecx, eax
push ecx
call fcn.00499377
mov edx, dword [esp + 0x34]
mov esi, eax
mov eax, dword [esp + 0x38]
add esp, 4
lea ecx, [eax + eax + 2]
push ecx
push edx
push esi
call fcn.00498c00
add esp, 0xc
mov dword [esp + 0x30], esi
jmp 0x4915e9
push edx
mov edx, dword [ebp + 8]
push 0x6f
push edx
jmp 0x4b3079
mov eax, dword [eax + 0x140]
dec eax
js 0x4b1a5f
mov dword [esp + 0x5c], 0
mov dword [esp + 0x70], eax
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x70]
lea eax, [eax + edx]
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [esi + eax*4]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x30]
call fcn.00493b60
test eax, eax
jns 0x4b1a46
mov eax, dword [esp + 0x1c]
dec eax
mov dword [esp + 0x70], eax
jmp 0x4b1a55
jle 0x4b1a7c
mov ecx, dword [esp + 0x1c]
inc ecx
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x5c], edx
jle 0x4b1a10
lea ecx, [esp + 0x30]
call fcn.00489e60
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 8]
push eax
push edi
push ebx
push ecx
call 0x5043a1
jmp 0x4924ff
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x5c], eax
jg 0x4b1a5f
mov ecx, dword [esp + 0x1c]
mov esi, dword [esi + ecx*4]
lea ecx, [esp + 0x30]
call fcn.00489e60
jmp 0x49167b
sub ecx, 0x37
jne 0x491729
mov edx, eax
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edx*4 - 4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x6f
push eax
jmp 0x4b3079
dec esi
inc eax
jmp 0x491718
inc esi
jmp 0x491729
mov dword [esp + 0x50], ecx
jmp 0x491773
mov ecx, dword [eax]
mov ecx, dword [ecx]
cmp ecx, 0x24
jne 0x4b1ae7
mov bl, 1
jmp 0x4b1af5
cmp ecx, 0x1e
jne 0x4b1e92
mov edi, 0x100
mov ecx, dword [eax + 4]
inc dword [esp + 0x10]
add eax, 4
cmp word [ecx + 8], 0
je 0x4b1ad3
jmp 0x4917bc
xor eax, eax
jmp 0x4917f2
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov ecx, dword [esp + 0x54]
mov eax, dword [edx + ecx*4]
cmp word [eax + 8], 0x33
jne 0x4b1e9e
mov esi, dword [eax]
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x20]
push edx
xor ecx, ecx
call fcn.00494160
test al, al
je 0x4b1eba
test dword [esp + 0x18], 0x100
je 0x4b1b7f
test edi, 0x100
jne 0x4b1b7f
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0xb0
push eax
jmp 0x4b3079
mov eax, dword [esp + 0x1c]
mov edi, 1
add dword [esp + 0x54], edi
add dword [esp + 0x10], edi
cmp dword [eax + 8], 5
jne 0x4b1bf0
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov edx, dword [edx + eax*4]
cmp word [edx + 8], 0x4e
jne 0x4b1bf0
mov edx, dword [ebp + 8]
push 0
lea eax, [esp + 0x20]
push eax
push edx
lea eax, [esp + 0x60]
call fcn.00494380
test eax, eax
je 0x4b1bf0
lea esi, [esp + 0x20]
call fcn.00490de0
lea ecx, [esp + 0x60]
call fcn.004c9554
lea ecx, [esp + 0x30]
call fcn.00498a00
mov eax, edi
jmp 0x4924ff
lea esi, [esp + 0x20]
call fcn.00490de0
mov eax, dword [esp + 0x1c]
push esi
lea esi, [esp + 0x34]
mov dword [esp + 0x2c], 6
mov dword [esp + 0x24], eax
call fcn.004938b0
mov ebx, dword [esp + 0x14]
jmp 0x4918e4
push eax
call 0x4caaf7
mov dword [esp + 0x2c], 0
jmp 0x491812
mov eax, dword [esp + 0x20]
test eax, eax
je 0x491843
push eax
call dword [0x481414]
mov edx, dword [esp + 0x20]
push edx
call fcn.00498f7c
add esp, 4
jmp 0x491843
mov eax, dword [esp + 0x20]
test eax, eax
je 0x491843
push eax
call 0x4cbb54
jmp 0x491843
lea eax, [esp + 0x20]
call fcn.004961e0
jmp 0x491843
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
call fcn.00498f7c
mov edx, dword [esp + 0x24]
add esp, 4
push edx
call fcn.00498f7c
add esp, 4
jmp 0x491843
mov eax, dword [esp + 0x20]
test eax, eax
je 0x491843
push eax
call 0x4d2c4b
jmp 0x491843
dec eax
cmp eax, 0xb
ja 0x4b1d65
jmp dword [eax*4 + 0x42b4a3]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
jmp 0x491898
xor eax, eax
jmp 0x49189a
add dword [esp + 0x10], 2
jmp 0x4918e4
push 0xffffffffffffffff
push 0x91
jmp 0x4b3075
mov edx, dword [ebp + 0xc]
mov eax, dword [edx + 4]
mov ecx, dword [eax + ecx*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x91
push eax
jmp 0x4b3079
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx + 4]
mov eax, dword [esp + 0x54]
mov ecx, dword [edx + eax*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x79
push eax
jmp 0x4b3079
mov ecx, dword [esi + 4]
mov edx, dword [ecx + edx*4]
movsx eax, word [edx + 0xa]
push eax
push 0x6f
jmp 0x4b3075
mov dword [esp + 0x4c], esi
jmp 0x49198b
mov edx, dword [0x4a7f38]
mov dword [edx], eax
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x4a7f38]
mov dword [ecx + 4], eax
mov byte [0x4a7f3d], 0
jmp 0x4919db
mov dword [edi + 4], esi
jmp 0x4919be
push 0x20
mov dword [esp + 0x1c], eax
call fcn.00499377
add esp, 4
cmp eax, esi
je 0x4b1f3c
push eax
call 0x4d2c8e
jmp 0x4b1f3e
xor eax, eax
mov ecx, dword [esp + 0x18]
push ecx
mov esi, eax
mov dword [edi], eax
call fcn.00496010
mov edx, dword [edi]
mov esi, dword [esp + 0x18]
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov ecx, dword [edi]
mov edx, dword [esi + 0x14]
mov dword [ecx + 0x14], edx
mov ecx, dword [edi]
xor eax, eax
mov dword [ecx + 0x18], eax
mov edx, dword [edi]
mov dword [edx + 0x1c], eax
mov eax, dword [esi + 0x18]
mov ecx, dword [edi]
add ecx, 0x18
push eax
push ecx
mov ecx, edi
call 0x4daab8
mov edx, dword [esi + 0x1c]
mov eax, dword [edi]
push edx
add eax, 0x1c
push eax
mov ecx, edi
call 0x4daab8
xor esi, esi
jmp 0x4919cc
xor edi, edi
jmp 0x4919cc
mov edi, eax
mov eax, dword [eax + 0x18]
cmp eax, esi
je 0x4b1fb3
push eax
lea ecx, [esp + 0x4c]
call fcn.004932a0
mov eax, dword [edi + 0x1c]
cmp eax, esi
je 0x4b1fc8
push eax
lea ecx, [esp + 0x4c]
call fcn.004932a0
cmp byte [edi + 0x10], 0
jne 0x4b1fe4
mov ecx, dword [edi + 0x14]
cmp ecx, esi
je 0x4b1fe4
push 1
call fcn.00496130
push edi
call 0x4caaf7
jmp 0x4919ed
mov edi, dword [edx]
mov edi, dword [edi]
cmp edi, 0x24
je 0x4b2011
cmp edi, 0x1e
jne 0x4b2015
mov dword [esp + 0x14], 0x100
mov eax, dword [esp + 0x14]
inc esi
add edx, 4
mov edi, dword [edx]
cmp word [edi + 8], bx
je 0x4b1fef
mov dword [esp + 0x10], esi
jmp 0x491a5a
mov edi, dword [esp + 0x34]
mov edx, dword [edi + edx*4]
mov ecx, dword [ecx + esi*4]
push 1
push eax
push edx
call fcn.004ba6cf
push eax
mov eax, dword [ecx]
push eax
call 0x4e6bbf
test al, al
je 0x4b262d
add esi, 2
mov dword [esp + 0x10], esi
jmp 0x491e15
lea ebx, [esp + 0xbc]
call fcn.004953d0
mov ecx, dword [esp + 0x50]
mov edx, dword [ecx + 4]
mov dword [esp + 0x7c], 0
mov eax, dword [edx + esi*4 + 8]
movzx ecx, word [eax + 8]
cmp cx, 0x4a
je 0x4b208d
cmp cx, 0x49
jne 0x4b20a8
lea edi, [esp + 0xbc]
call fcn.0048a630
mov eax, dword [esp + 0x50]
mov ecx, dword [eax + 4]
mov edx, dword [esp + 0x10]
mov eax, dword [ecx + edx*4 + 0xc]
lea edi, [esp + 0xbc]
call fcn.0048a630
mov edi, 0x7f
lea esi, [esp + 0xd0]
call fcn.0048a5c0
mov eax, esi
lea edi, [esp + 0xbc]
call fcn.0048a630
push 0xffffffffffffffff
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x84]
push ecx
mov ecx, dword [ebp + 8]
push edi
call fcn.00492620
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x50]
mov edx, dword [edx + 4]
mov ecx, dword [esp + 0x14]
add eax, eax
add eax, eax
mov esi, dword [eax + edx]
mov esi, dword [esi]
mov dword [esp + 0x48], eax
or ecx, 0x200
mov eax, 1
lea edx, [esp + 0x20]
call fcn.00489590
jmp 0x491df6
push esi
mov eax, edi
push edx
mov edi, 0x4a7f24
call fcn.0048bcc0
jmp 0x491df6
mov ecx, dword [0x4a7f38]
mov ebx, dword [ecx + 8]
jmp 0x491ac0
or dword [0x4a95e4], 1
push 0x4a95c4
call 0x4d2c8e
push 0x426392
call fcn.004990aa
add esp, 4
xor eax, eax
jmp 0x491adf
test edx, edx
jne 0x4b219c
test eax, eax
jne 0x491b57
jmp 0x491b0e
mov ebx, dword [esp + 0x14]
xor eax, eax
jmp 0x491b49
or eax, 0xffffffff
jmp 0x491b49
mov ecx, dword [ecx]
mov eax, dword [edi]
call fcn.00495030
jmp 0x491b49
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
test eax, eax
je 0x491b64
push eax
push edi
call 0x4cab15
add esp, 8
test al, al
je 0x4b21d9
mov eax, dword [ebx]
mov eax, dword [eax + 0x18]
mov ecx, dword [ebx]
mov edx, dword [eax + 0x1c]
mov dword [ecx + 0x18], edx
mov ecx, dword [ebx]
mov dword [eax + 0x1c], ecx
mov dword [ebx], eax
cmp dword [eax + 0x18], 0
je 0x491b64
mov edx, dword [ebx]
mov eax, dword [esp + 0x58]
mov dword [eax + 0x18], edx
mov eax, dword [ebx]
mov ecx, dword [eax + 0x18]
mov dword [ebx], ecx
jmp 0x491af2
push edi
push eax
call 0x4cab15
add esp, 8
test al, al
je 0x4b221e
mov eax, dword [ebx]
mov eax, dword [eax + 0x1c]
mov edx, dword [ebx]
mov ecx, dword [eax + 0x18]
mov dword [edx + 0x1c], ecx
mov edx, dword [ebx]
mov dword [eax + 0x18], edx
mov dword [ebx], eax
cmp dword [eax + 0x1c], 0
je 0x491b64
mov eax, dword [ebx]
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x74], eax
mov dword [ebx], edx
jmp 0x491af6
mov byte [esp + 0x43], 1
jmp 0x491b64
mov ebx, dword [ebx]
test ebx, ebx
je 0x491b9c
mov ecx, dword [esp + 0x18]
mov ebx, dword [ebx + 0x14]
push ecx
call fcn.00490d20
jmp 0x491df6
xor eax, eax
jmp 0x491c01
xor ebx, ebx
jmp 0x491c06
dec dword [eax]
mov edx, dword [edi + 4]
mov dword [ebx + 4], edx
mov eax, dword [edi + 8]
mov dword [ebx + 8], eax
mov ecx, dword [edi]
mov dword [ebx], ecx
mov edi, dword [edi + 0xc]
mov dword [ebx + 0xc], edi
inc dword [edi]
jmp 0x491c3e
push eax
call 0x4cde20
mov dword [ebx + 8], eax
mov eax, dword [ebx]
test eax, eax
je 0x4b22a6
push eax
call fcn.00498f7c
add esp, 4
mov eax, dword [ebx + 8]
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.00499377
add esp, 4
xor ecx, ecx
mov dword [ebx], eax
mov word [eax + esi*2], cx
jmp 0x491c28
or dword [0x4a95e4], 1
push 0x4a95c4
call 0x4d2c8e
push 0x426392
call fcn.004990aa
add esp, 4
jmp 0x491cd1
cmp edx, edi
jne 0x4b2497
cmp eax, edi
jne 0x491d4d
jmp 0x491d06
xor edi, edi
xor eax, eax
jmp 0x491d43
or eax, 0xffffffff
xor edi, edi
jmp 0x491d43
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.00495030
jmp 0x491d43
lea eax, [esi + 0x18]
mov dword [esp + 0x18], eax
mov eax, dword [eax]
cmp eax, edi
je 0x491d5e
push eax
push ebx
mov dword [esp + 0x4c], eax
call 0x4cab15
add esp, 8
test al, al
je 0x4b24e0
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov dword [eax + 0x1c], esi
mov esi, eax
cmp dword [eax + 0x18], edi
je 0x491d5e
add eax, 0x18
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x18], esi
mov dword [esp + 0x74], esi
mov esi, dword [ecx]
jmp 0x491cf0
push ebx
push eax
mov dword [esp + 0x4c], eax
call 0x4cab15
add esp, 8
test al, al
je 0x4b252e
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x18]
mov dword [edx], ecx
mov dword [eax + 0x18], esi
mov esi, eax
cmp dword [eax + 0x1c], edi
je 0x491d5e
add eax, 0x1c
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x18]
mov dword [eax + 0x1c], esi
mov dword [esp + 0x58], esi
mov esi, dword [ecx]
jmp 0x491cf0
cmp edx, edi
jne 0x4b257a
cmp eax, edi
jne 0x491de1
jmp 0x491d99
xor edi, edi
xor eax, eax
jmp 0x491dd3
or eax, 0xffffffff
xor edi, edi
jmp 0x491dd3
mov ecx, dword [esi]
mov eax, dword [ebx]
call fcn.00495030
jmp 0x491dd3
mov eax, dword [esi + 0x18]
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], esi
mov dword [esi + 0x18], edi
jmp 0x491df0
mov ebx, esi
jmp 0x491df0
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + ecx*4 + 8]
movzx eax, word [edx + 8]
cmp ax, 0x4a
je 0x4b25bc
cmp ax, 0x49
je 0x4b25bc
add dword [esp + 0x10], 4
jmp 0x491e15
add dword [esp + 0x10], 5
jmp 0x491e15
cmp ax, 0x3f
jg 0x491e2b
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x491e2b
push eax
call 0x4caaf7
jmp 0x491e2b
xor esi, esi
mov eax, dword [esp + 0xc0]
mov eax, dword [eax + esi*4]
test eax, eax
je 0x4b2604
push eax
call 0x4d4031
inc esi
cmp esi, dword [esp + 0xc4]
jb 0x4b25ec
jmp 0x491e44
mov eax, dword [edi + 4]
lea edx, [esp + 0x80]
push edx
push eax
call 0x4fa88d
mov byte [edi + 9], 0
jmp 0x491f24
mov edx, dword [esp + 0x50]
mov eax, dword [edx + 4]
mov ecx, dword [eax + esi*4]
movsx edx, word [ecx + 0xa]
mov eax, dword [ebp + 8]
push edx
push 0x79
push eax
call 0x4e5dee
lea ecx, [esp + 0xd0]
push ecx
call str.NxQR
lea ecx, [esp + 0xbc]
call fcn.00496b20
jmp 0x4b307e
xor eax, eax
jmp 0x491f1b
call fcn.00494630
cmp ebx, dword [edi]
jb 0x4b266c
jmp 0x491f4f
mov eax, dword [eax + 0x38]
jmp 0x491f72
mov ecx, dword [eax + 4]
mov esi, dword [ecx + 0x38]
jmp 0x491f99
push eax
call 0x4caaf7
mov dword [ebx + 0xc], 0
jmp 0x491faf
mov ecx, dword [ebx]
test ecx, ecx
je 0x491fbb
push ecx
call dword [0x481414]
mov edx, dword [ebx]
push edx
call fcn.00498f7c
add esp, 4
jmp 0x491fdf
mov eax, dword [ebx]
test eax, eax
je 0x491fdf
push eax
call 0x4cbb54
jmp 0x491fdf
mov eax, ebx
call fcn.004961e0
jmp 0x491fdf
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ecx
call fcn.00498f7c
mov edx, dword [ebx]
add esp, 4
push edx
call fcn.00498f7c
add esp, 4
jmp 0x491fdf
mov eax, dword [ebx]
test eax, eax
je 0x491fdf
push eax
call 0x4d2c4b
jmp 0x491fdf
dec eax
cmp eax, 0xb
ja 0x49202b
jmp dword [eax*4 + 0x42b4d3]
xor eax, eax
jmp 0x492028
mov eax, dword [eax + 0x38]
jmp 0x492043
mov eax, dword [ebp + 0x14]
mov esi, dword [ebp + 0x10]
mov byte [eax], 0
call fcn.00490de0
mov dword [esi + 8], 1
mov dword [esi], 0
jmp 0x49202b
mov eax, esi
call fcn.0048bb70
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x94], ecx
jmp 0x49204d
mov edx, dword [esi + 4]
mov eax, dword [edx + 0x38]
jmp 0x49205a
mov eax, esi
call fcn.0048bb70
add eax, 0x20
push eax
lea ebx, [esp + 0xa4]
call fcn.00490d20
jmp 0x492064
mov eax, dword [edi + 4]
mov esi, dword [eax + 0x38]
test eax, eax
je 0x4b2910
push eax
call 0x4d4574
mov dword [edi + 4], esi
mov byte [edi + 9], 0
jmp 0x49207b
mov byte [edi + 9], 1
jmp 0x49215c
push eax
call 0x4caaf7
mov dword [esi + 0x2c], 0
jmp 0x4920a2
mov ecx, dword [esi + 0x20]
test ecx, ecx
je 0x4920ae
push ecx
call dword [0x481414]
mov eax, dword [esi + 0x20]
push eax
call fcn.00498f7c
add esp, 4
jmp 0x4920d2
mov eax, dword [esi + 0x20]
test eax, eax
je 0x4920d2
push eax
call 0x4cbb54
jmp 0x4920d2
lea eax, [esi + 0x20]
call fcn.004961e0
jmp 0x4920d2
mov ecx, dword [esi + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.00498f7c
mov eax, dword [esi + 0x20]
add esp, 4
push eax
call fcn.00498f7c
add esp, 4
jmp 0x4920d2
mov eax, dword [esi + 0x20]
test eax, eax
je 0x4920d2
push eax
call 0x4d2c4b
jmp 0x4920d2
mov edx, dword [ebx]
push edx
call fcn.00498f7c
mov eax, dword [ebx + 0xc]
add esp, 4
push eax
call fcn.00498f7c
add esp, 4
jmp 0x4920f8
mov ecx, dword [esi]
test ecx, ecx
je 0x492114
push ecx
call dword [0x481414]
mov ecx, dword [esi]
push ecx
call fcn.00498f7c
add esp, 4
jmp 0x492138
mov eax, dword [esi]
test eax, eax
je 0x492138
push eax
call 0x4cbb54
jmp 0x492138
mov eax, esi
call fcn.004961e0
jmp 0x492138
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.00498f7c
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.00498f7c
add esp, 4
jmp 0x492138
mov eax, dword [esi]
test eax, eax
je 0x492138
push eax
call 0x4d2c4b
jmp 0x492138
mov ecx, dword [ecx + 0x38]
jmp 0x492173
mov eax, dword [eax + 0x38]
jmp 0x49218a
mov edx, dword [eax + 8]
mov eax, dword [edx + 0x38]
jmp 0x4921a6
push eax
call 0x4caaf7
mov dword [ebx + 0xc], 0
jmp 0x4921bf
mov ecx, dword [ebx]
test ecx, ecx
je 0x4921cb
push ecx
call dword [0x481414]
mov ecx, dword [ebx]
push ecx
call fcn.00498f7c
add esp, 4
jmp 0x4921ef
mov eax, dword [ebx]
test eax, eax
je 0x4921ef
push eax
call 0x4cbb54
jmp 0x4921ef
mov eax, ebx
call fcn.004961e0
jmp 0x4921ef
mov edx, dword [ebx]
mov eax, dword [edx + 4]
push eax
call fcn.00498f7c
mov ecx, dword [ebx]
add esp, 4
push ecx
call fcn.00498f7c
add esp, 4
jmp 0x4921ef
mov eax, dword [ebx]
test eax, eax
je 0x4921ef
push eax
call 0x4d2c4b
jmp 0x4921ef
dec eax
cmp eax, 0xb
ja 0x492211
jmp dword [eax*4 + 0x42b503]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x38]
jmp 0x492226
mov eax, dword [0x4a7f38]
mov esi, dword [eax + 8]
push eax
call 0x4f7333
mov ecx, esi
mov dword [0x4a7f38], ecx
mov byte [0x4a7f3d], 0
jmp 0x49223d
mov ebx, dword [esp + 0x64]
mov byte [0x4a7f3d], 1
jmp 0x492347
push eax
mov ecx, ebx
call fcn.004932a0
jmp 0x492279
mov ecx, dword [edi]
push ecx
call fcn.00498f7c
mov edx, dword [edi + 0xc]
add esp, 4
push edx
call fcn.00498f7c
add esp, 4
jmp 0x49229e
mov ecx, dword [ebx]
test ecx, ecx
je 0x4922ba
push ecx
call dword [0x481414]
mov eax, dword [ebx]
push eax
call fcn.00498f7c
add esp, 4
jmp 0x4922de
mov eax, dword [ebx]
test eax, eax
je 0x4922de
push eax
call 0x4cbb54
jmp 0x4922de
mov eax, ebx
call fcn.004961e0
jmp 0x4922de
mov ecx, dword [ebx]
mov edx, dword [ecx + 4]
push edx
call fcn.00498f7c
mov eax, dword [ebx]
add esp, 4
push eax
call fcn.00498f7c
add esp, 4
jmp 0x4922de
mov eax, dword [ebx]
test eax, eax
je 0x4922de
push eax
call 0x4d2c4b
jmp 0x4922de
push eax
call 0x4caaf7
mov dword [esp + 0xac], 0
jmp 0x49236c
mov esi, dword [esp + 0xa0]
test esi, esi
je 0x4923a0
push esi
call dword [0x481414]
push esi
call fcn.00498f7c
add esp, 4
jmp 0x4923a0
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x4923a0
push eax
call 0x4cbb54
jmp 0x4923a0
lea eax, [esp + 0xa0]
call fcn.004961e0
jmp 0x4923a0
mov esi, dword [esp + 0xa0]
mov edx, dword [esi + 4]
push edx
call fcn.00498f7c
add esp, 4
push esi
call fcn.00498f7c
add esp, 4
jmp 0x4923a0
mov eax, dword [esp + 0xa0]
test eax, eax
je 0x4923a0
push eax
call 0x4d2c4b
jmp 0x4923a0
push eax
call 0x4caaf7
mov dword [esp + 0x8c], 0
mov edx, 1
xor ecx, ecx
jmp 0x4923cb
cmp dword [esp + 0x80], ecx
je 0x4923f8
mov esi, dword [esp + 0x80]
push esi
call dword [0x481414]
push esi
call fcn.00498f7c
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x4923f8
cmp dword [esp + 0x80], ecx
je 0x4923f8
mov eax, dword [esp + 0x80]
push eax
call 0x4cbb54
mov edx, 1
xor ecx, ecx
jmp 0x4923f8
lea eax, [esp + 0x80]
call fcn.004961e0
mov edx, 1
xor ecx, ecx
jmp 0x4923f8
mov esi, dword [esp + 0x80]
mov ecx, dword [esi + 4]
push ecx
call fcn.00498f7c
add esp, 4
push esi
call fcn.00498f7c
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x4923f8
cmp dword [esp + 0x80], ecx
je 0x4923f8
mov edx, dword [esp + 0x80]
push edx
call 0x4d2c4b
mov edx, 1
xor ecx, ecx
jmp 0x4923f8
push eax
call 0x4caaf7
mov dword [esp + 0x2c], 0
mov edx, 1
xor ecx, ecx
jmp 0x492404
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x492435
push eax
call dword [0x481414]
mov eax, dword [esp + 0x20]
push eax
call fcn.00498f7c
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x492435
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x492435
push eax
call 0x4cbb54
mov edx, 1
xor ecx, ecx
jmp 0x492435
lea eax, [esp + 0x20]
call fcn.004961e0
mov edx, 1
xor ecx, ecx
jmp 0x492435
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 4]
push edx
call fcn.00498f7c
mov eax, dword [esp + 0x24]
add esp, 4
push eax
call fcn.00498f7c
add esp, 4
mov edx, 1
xor ecx, ecx
jmp 0x492435
mov eax, dword [esp + 0x20]
cmp eax, ecx
je 0x492435
push eax
call 0x4d2c4b
mov edx, 1
xor ecx, ecx
jmp 0x492435
mov edx, dword [edi]
push edx
call fcn.00498f7c
mov eax, dword [edi + 0xc]
add esp, 4
push eax
call fcn.00498f7c
add esp, 4
jmp 0x492493
mov ecx, dword [esi]
test ecx, ecx
je 0x4924af
push ecx
call dword [0x481414]
mov ecx, dword [esi]
push ecx
call fcn.00498f7c
add esp, 4
jmp 0x4924d3
mov eax, dword [esi]
test eax, eax
je 0x4924d3
push eax
call 0x4cbb54
jmp 0x4924d3
mov eax, esi
call fcn.004961e0
jmp 0x4924d3
mov edx, dword [esi]
mov eax, dword [edx + 4]
push eax
call fcn.00498f7c
mov ecx, dword [esi]
add esp, 4
push ecx
call fcn.00498f7c
add esp, 4
jmp 0x4924d3
mov eax, dword [esi]
test eax, eax
je 0x4924d3
push eax
call 0x4d2c4b
jmp 0x4924d3
mov eax, dword [esp + 0x7c]
push eax
push 0x70
mov ecx, dword [ebp + 8]
push ecx
call 0x4e5dee
lea esi, [esp + 0x20]
call fcn.00490de0
lea ecx, [esp + 0x60]
call fcn.004c9554
lea ecx, [esp + 0x30]
call fcn.00498a00
mov eax, 1
jmp 0x4924ff