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

Disassembly:
sub esp, 0x4c
mov ecx, dword [0xd2d290]
fld qword [0x4b5c20]
push ebx
fstp qword [0xd2d470]
push ebp
push esi
mov esi, dword [esp + 0x5c]
mov eax, esi
shl eax, 6
mov ebx, dword [eax + ecx]
mov ebp, dword [eax + ecx + 4]
push edi
mov dword [esp + 0x58], eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x17]
push ecx
push esi
push ebp
push ebx
mov dword [0xd2d4a4], 0
call fcn.00453ee0
mov edi, eax
add esp, 0x14
mov dword [esp + 0x14], edi
cmp edi, 0xffffffff
jne 0x45552c
fld qword [0x4b5cb0]
lea edx, [esp + 0x40]
push edx
fstp qword [0xd2d470]
lea eax, [esp + 0x17]
push eax
push esi
push ebp
push ebx
call fcn.00453ee0
mov edi, eax
add esp, 0x14
mov dword [esp + 0x14], eax
cmp edi, 0xffffffff
jne 0x45552c
push 1
push 0
push esi
call fcn.00451560
add esp, 0xc
test al, al
jne 0x456762
push esi
push ebx
call fcn.0045f000
mov edi, eax
add esp, 8
mov dword [esp + 0x14], edi
xor cl, cl
jmp 0x455530
mov cl, byte [esp + 0x13]
mov edx, dword [0xd2d22c]
lea eax, [edi + edi*2]
shl eax, 4
mov dword [esp + 0x3c], eax
mov dword [eax + edx + 0x18], 0
test cl, cl
je 0x455555
mov dword [esp + 0x40], edi
jmp 0x4555e3
fld qword [0x4b5c20]
lea eax, [esp + 0x40]
push eax
fstp qword [0xd2d470]
lea ecx, [esp + 0x17]
push ecx
push esi
push ebx
push ebp
call fcn.00453ee0
add esp, 0x14
mov dword [esp + 0x40], eax
cmp eax, 0xffffffff
jne 0x4555cc
fld qword [0x4b5cb0]
lea edx, [esp + 0x40]
push edx
fstp qword [0xd2d470]
lea eax, [esp + 0x17]
push eax
push esi
push ebx
push ebp
call fcn.00453ee0
add esp, 0x14
mov dword [esp + 0x40], eax
cmp eax, 0xffffffff
jne 0x4555cc
push 1
push 0
push esi
call fcn.00451560
add esp, 0xc
test al, al
jne 0x456762
push esi
push ebp
call fcn.0045f000
add esp, 8
mov dword [esp + 0x40], eax
cmp edi, eax
je 0x4555e3
mov edx, dword [0xd2d22c]
lea ecx, [eax + eax*2]
add ecx, ecx
mov dword [edx + ecx*8 + 0x18], 0
fld qword [0x4b5ca8]
mov eax, dword [0xd2d22c]
fstp qword [0xd2d470]
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + eax + 0x1c]
mov ebp, dword [esp + 0x14]
lea edx, [esi + esi*2]
add edx, edx
cmp byte [ecx + eax + 0x24], 0
je 0x455648
mov edi, dword [0xd2d238]
cmp dword [edi + edx*8], ebp
jne 0x45561d
mov edi, dword [edi + edx*8 + 0x18]
jmp 0x455621
mov edi, dword [edi + edx*8 + 0x20]
mov dword [ecx + eax + 0x18], 3
mov eax, dword [esp + 0x60]
push eax
push ebp
push esi
mov ebx, esi
call fcn.00454d40
mov ecx, dword [esp + 0x6c]
push ecx
push ebp
push edi
call fcn.00454d40
add esp, 0x18
jmp 0x4556a0
mov ebx, dword [0xd2d238]
cmp dword [ebx + edx*8], ebp
jne 0x455659
mov edi, dword [ebx + edx*8 + 0x18]
jmp 0x45565d
mov edi, dword [ebx + edx*8 + 0x20]
lea edx, [edi + edi*2]
add edx, edx
cmp dword [ebx + edx*8], ebp
jne 0x45566d
mov ebx, dword [ebx + edx*8 + 0x18]
jmp 0x455671
mov ebx, dword [ebx + edx*8 + 0x20]
mov dword [ecx + eax + 0x18], 3
mov eax, dword [esp + 0x60]
push eax
push ebp
push esi
call fcn.00454d40
mov ecx, dword [esp + 0x6c]
push ecx
push ebp
push edi
call fcn.00454d40
mov edx, dword [esp + 0x78]
push edx
push ebp
push ebx
call fcn.00454d40
add esp, 0x24
mov ebp, dword [esp + 0x40]
mov eax, dword [0xd2d22c]
lea ebp, [ebp + ebp*2]
add ebp, ebp
cmp dword [eax + ebp*8 + 0x18], 3
je 0x455713
fldz
fld qword [0xd2d470]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x455790
fstp st(0)
fstp qword [0xd2d470]
mov ebp, dword [esp + 0x14]
push ebp
push esi
mov dword [0xd2d4a4], 0
call fcn.00451eb0
push ebp
push edi
call fcn.00451eb0
mov eax, dword [0xd2d22c]
mov ecx, dword [esp + 0x4c]
add esp, 0x10
cmp byte [ecx + eax + 0x24], 0
jne 0x455713
mov edx, ebp
push edx
push ebx
call fcn.00451eb0
add esp, 8
mov eax, dword [0xd2d22c]
mov ecx, dword [esp + 0x40]
lea ecx, [ecx + ecx*2]
add ecx, ecx
cmp dword [eax + ecx*8 + 0x18], 3
jne 0x4555f4
xor esi, esi
cmp dword [0xd2d4a4], esi
jle 0x45587e
mov edi, dword [esp + 0x60]
lea esp, [esp]
fld qword [0x4b5878]
fstp qword [0xd2d470]
lea esp, [esp]
mov eax, dword [0xd2d4a0]
mov edx, dword [eax + esi*8 + 4]
mov eax, dword [eax + esi*8]
push edi
push edx
push eax
call fcn.004541f0
add esp, 0xc
test al, al
jne 0x45586c
cmp byte [0xd2d33c], al
jne 0x456762
fldz
fld qword [0xd2d470]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x455809
fstp st(0)
jmp 0x455746
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x4557aa
fstp st(0)
fld qword [0x4b5cb0]
jmp 0x4556cd
fmul qword [0x4b5c70]
fst qword [0xd2d470]
fcomp qword [0x4b5cf8]
fnstsw ax
test ah, 0x41
jnp 0x4556d3
mov eax, dword [esp + 0x60]
push 1
push 0
push eax
call fcn.00451560
add esp, 0xc
test al, al
jne 0x456762
mov ecx, dword [0xd2d22c]
mov edx, dword [esp + 0x14]
mov dword [ecx + ebp*8 + 0x18], 0
mov dword [esp + 0x40], edx
mov byte [0xd2d33e], 1
mov byte [0xd34622], 1
jmp 0x45570e
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x455823
fstp st(0)
fld qword [0x4b5cb0]
jmp 0x455746
fmul qword [0x4b5c70]
fst qword [0xd2d470]
fcomp qword [0x4b5cf8]
fnstsw ax
test ah, 0x41
jnp 0x455750
push 1
push 0
push edi
call fcn.00451560
add esp, 0xc
test al, al
jne 0x456762
mov eax, dword [0xd2d4a0]
mov ecx, dword [eax + esi*8 + 4]
mov edx, dword [eax + esi*8]
push edi
push ecx
push edx
call fcn.0045f210
add esp, 0xc
inc esi
cmp esi, dword [0xd2d4a4]
jl 0x455740
mov eax, dword [0xd2d22c]
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + eax + 0x1c]
mov ebp, dword [esp + 0x14]
mov dword [edx + eax + 0x18], 2
lea eax, [esp + 0x30]
push eax
xor esi, esi
push ebp
push ecx
mov dword [0xd2d4a4], esi
mov dword [0xd2d4b0], esi
mov dword [0xd2d4b4], esi
call fcn.00452590
add esp, 0xc
test al, al
je 0x455a3b
lea ecx, [ecx]
mov ebx, dword [0xd2d4b0]
xor ecx, ecx
test ebx, ebx
jle 0x455905
mov edx, dword [esp + 0x30]
mov esi, dword [0xd2d238]
mov edi, dword [0xd2d4ac]
lea esp, [esp]
mov eax, dword [edi + ecx*4]
lea eax, [eax + eax*2]
add eax, eax
cmp dword [esi + eax*8], edx
je 0x4558fa
cmp dword [esi + eax*8 + 4], edx
je 0x4558fa
inc ecx
cmp ecx, ebx
jl 0x4558e0
jmp 0x455905
cmp ebp, edx
je 0x4558ff
inc ecx
mov dword [0xd2d4b4], ecx
fld qword [0x4b5878]
fstp qword [0xd2d470]
mov esi, dword [esp + 0x60]
push esi
call fcn.00454820
mov bl, al
add esp, 4
test bl, bl
jne 0x455995
cmp byte [0xd2d33c], al
jne 0x456762
fldz
fld qword [0xd2d470]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x455945
fstp st(0)
jmp 0x45590b
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x45595c
fstp st(0)
fld qword [0x4b5cb0]
jmp 0x45590b
fmul qword [0x4b5c70]
fst qword [0xd2d470]
fcomp qword [0x4b5cf8]
fnstsw ax
test ah, 0x41
jnp 0x455911
push 1
push 0
push esi
call fcn.00451560
add esp, 0xc
test al, al
jne 0x456762
push esi
call fcn.0045f3a0
add esp, 4
mov bl, 1
mov ecx, dword [0xd2d22c]
mov edx, dword [esp + 0x3c]
mov edi, dword [edx + ecx + 0x1c]
xor eax, eax
push ebp
push edi
mov dword [0xd2d4b0], eax
mov dword [0xd2d4b4], eax
call fcn.00451fb0
add esp, 8
cmp dword [esp + 0x30], ebp
jne 0x455a0a
mov ecx, dword [0xd2d238]
lea eax, [edi + edi*2]
add eax, eax
cmp dword [ecx + eax*8], ebp
jne 0x4559d5
mov esi, dword [ecx + eax*8 + 0x18]
jmp 0x4559d9
mov esi, dword [ecx + eax*8 + 0x20]
push ebp
push esi
call fcn.00451fb0
mov eax, dword [0xd2d238]
lea edx, [esi + esi*2]
add edx, edx
add esp, 8
cmp dword [eax + edx*8], ebp
jne 0x4559f8
mov eax, dword [eax + edx*8 + 0x18]
jmp 0x4559fc
mov eax, dword [eax + edx*8 + 0x20]
cmp eax, edi
je 0x455a0a
push ebp
push eax
call fcn.00451fb0
add esp, 8
mov ecx, dword [0xd2d22c]
mov edx, dword [esp + 0x3c]
mov dword [edx + ecx + 0x18], 2
test bl, bl
je 0x455911
lea eax, [esp + 0x30]
push eax
push ebp
push edi
call fcn.00452590
add esp, 0xc
test al, al
jne 0x4558c0
mov ecx, dword [0xd2d22c]
mov edx, dword [esp + 0x3c]
mov ebp, dword [edx + ecx + 0x1c]
mov eax, dword [0xd2d238]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x40], ebp
lea ebp, [ebp + ebp*2]
add ebp, ebp
cmp dword [eax + ebp*8], edi
jne 0x455a67
mov eax, dword [eax + ebp*8 + 0x18]
jmp 0x455a6b
mov eax, dword [eax + ebp*8 + 0x20]
xor ecx, ecx
mov dword [0xd2d4b0], ecx
mov dword [0xd2d4b4], ecx
lea ecx, [esp + 0x30]
push ecx
push edi
push eax
call fcn.00452590
add esp, 0xc
test al, al
je 0x455bf9
mov ebx, dword [0xd2d4b0]
mov esi, dword [esp + 0x60]
xor ecx, ecx
test ebx, ebx
jle 0x455adf
mov edx, dword [esp + 0x30]
mov esi, dword [0xd2d238]
mov edi, dword [0xd2d4ac]
mov eax, dword [edi + ecx*4]
lea eax, [eax + eax*2]
add eax, eax
cmp dword [esi + eax*8], edx
je 0x455aca
cmp dword [esi + eax*8 + 4], edx
je 0x455aca
inc ecx
cmp ecx, ebx
jl 0x455ab0
jmp 0x455ad7
cmp dword [esp + 0x14], edx
je 0x455ad1
inc ecx
mov dword [0xd2d4b4], ecx
mov esi, dword [esp + 0x60]
mov edi, dword [esp + 0x14]
fld qword [0x4b5878]
fstp qword [0xd2d470]
jmp 0x455af4
mov esi, dword [esp + 0x60]
push esi
call fcn.00454820
mov bl, al
add esp, 4
test bl, bl
jne 0x455b80
cmp byte [0xd2d33c], al
jne 0x456762
fldz
fld qword [0xd2d470]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x455b2a
fstp st(0)
fstp qword [0xd2d470]
jmp 0x455af4
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x455b47
fstp st(0)
fld qword [0x4b5cb0]
fstp qword [0xd2d470]
jmp 0x455af4
fmul qword [0x4b5c70]
fst qword [0xd2d470]
fcomp qword [0x4b5cf8]
fnstsw ax
test ah, 0x41
jnp 0x455af4
push 1
push 0
push esi
call fcn.00451560
add esp, 0xc
test al, al
jne 0x456762
push esi
call fcn.0045f3a0
add esp, 4
mov bl, 1
xor eax, eax
mov dword [0xd2d4b0], eax
mov dword [0xd2d4b4], eax
mov eax, dword [0xd2d238]
cmp dword [eax + ebp*8], edi
jne 0x455b9c
mov esi, dword [eax + ebp*8 + 0x18]
jmp 0x455ba0
mov esi, dword [eax + ebp*8 + 0x20]
push edi
push esi
call fcn.00451fb0
add esp, 8
cmp dword [esp + 0x30], edi
jne 0x455bda
mov edx, dword [0xd2d238]
lea eax, [esi + esi*2]
add eax, eax
cmp dword [edx + eax*8], edi
jne 0x455bc6
mov eax, dword [edx + eax*8 + 0x18]
jmp 0x455bca
mov eax, dword [edx + eax*8 + 0x20]
cmp eax, dword [esp + 0x40]
je 0x455bda
push edi
push eax
call fcn.00451fb0
add esp, 8
test bl, bl
je 0x455af0
lea eax, [esp + 0x30]
push eax
push edi
push esi
call fcn.00452590
add esp, 0xc
test al, al
jne 0x455a90
mov eax, dword [0xd2d238]
cmp dword [eax + ebp*8], edi
jne 0x455c09
mov ecx, dword [eax + ebp*8 + 0x18]
jmp 0x455c0d
mov ecx, dword [eax + ebp*8 + 0x20]
mov ebp, dword [esp + 0x14]
lea edi, [ecx + ecx*2]
add edi, edi
cmp dword [eax + edi*8], ebp
jne 0x455c21
mov ecx, dword [eax + edi*8 + 0x18]
jmp 0x455c25
mov ecx, dword [eax + edi*8 + 0x20]
xor edx, edx
mov dword [0xd2d4b0], edx
mov dword [0xd2d4b4], edx
cmp ecx, dword [esp + 0x40]
je 0x455d52
lea edx, [esp + 0x30]
push edx
push ebp
push ecx
call fcn.00452590
add esp, 0xc
test al, al
je 0x455d4d
mov eax, dword [esp + 0x30]
mov esi, dword [esp + 0x60]
push eax
push ebp
call fcn.00452540
fld qword [0x4b5878]
fstp qword [0xd2d470]
add esp, 8
jmp 0x455c78
mov esi, dword [esp + 0x60]
push esi
call fcn.00454820
mov bl, al
add esp, 4
test bl, bl
jne 0x455d04
cmp byte [0xd2d33c], al
jne 0x456762
fldz
fld qword [0xd2d470]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x455cae
fstp st(0)
fstp qword [0xd2d470]
jmp 0x455c78
fld st(0)
fucomp st(2)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x455ccb
fstp st(0)
fld qword [0x4b5cb0]
fstp qword [0xd2d470]
jmp 0x455c78
fmul qword [0x4b5c70]
fst qword [0xd2d470]
fcomp qword [0x4b5cf8]
fnstsw ax
test ah, 0x41
jnp 0x455c78
push 1
push 0
push esi
call fcn.00451560
add esp, 0xc
test al, al
jne 0x456762
push esi
call fcn.0045f3a0
add esp, 4
mov bl, 1
xor eax, eax
mov dword [0xd2d4b0], eax
mov dword [0xd2d4b4], eax
mov eax, dword [0xd2d238]
cmp dword [eax + edi*8], ebp
jne 0x455d20
mov esi, dword [eax + edi*8 + 0x18]
jmp 0x455d24
mov esi, dword [eax + edi*8 + 0x20]
push ebp
push esi
call fcn.00451fb0
add esp, 8
test bl, bl
je 0x455c74
lea ecx, [esp + 0x30]
push ecx
push ebp
push esi
call fcn.00452590
add esp, 0xc
test al, al
jne 0x455c54
mov eax, dword [0xd2d238]
mov edx, dword [esp + 0x3c]
mov ecx, dword [0xd2d22c]
cmp byte [edx + ecx + 0x24], 0
mov ecx, dword [edx + ecx + 0x1c]
lea edx, [ecx + ecx*2]
je 0x4560f2
add edx, edx
cmp dword [eax + edx*8], ebp
jne 0x455d7b
mov esi, dword [eax + edx*8 + 0x18]
jmp 0x455d7f
mov esi, dword [eax + edx*8 + 0x20]
mov edi, dword [esp + 0x60]
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x44]
push edx
push ecx
push ebp
push 0
push edi
call fcn.004528f0
add esp, 0x20
cmp byte [0xd2d33c], 0
jne 0x456762
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push esi
push ebp
push 0
push edi
call fcn.004528f0
add esp, 0x20
cmp byte [0xd2d33c], 0
jne 0x456762
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [0xd2d238]
cmp dword [eax + 4], ecx
jne 0x455e00
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
jmp 0x455e06
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x20]
push edi
push 0
push esi
push eax
push edx
push ecx
call fcn.0043eea0
mov ebp, dword [sym.imp.MSVCR100.dll_printf]
add esp, 0x18
mov ebx, eax
cmp edi, 2
jne 0x455e39
mov ecx, dword [0xd2d274]
lea eax, [esi + esi*4]
mov dword [ecx + eax*8 + 0x10], ebx
jmp 0x455e6a
test edi, edi
jne 0x455e4c
mov edx, dword [0xd2d290]
shl esi, 6
mov dword [esi + edx + 0x30], ebx
jmp 0x455e6a
cmp edi, 1
jne 0x455e5f
mov eax, dword [0xd2d29c]
imul esi, esi, 0x68
mov dword [esi + eax + 0x5c], ebx
jmp 0x455e6a
push edi
push 0x4c25b8
call ebp
add esp, 8
mov eax, dword [esp + 0x18]
mov edx, dword [0xd2d238]
lea eax, [eax + eax*2]
add eax, eax
mov ecx, dword [edx + eax*8]
cmp ecx, dword [esp + 0x1c]
jne 0x455e88
mov dword [edx + eax*8 + 0x18], ebx
jmp 0x455e8c
mov dword [edx + eax*8 + 0x20], ebx
mov ecx, dword [0xd2d238]
lea eax, [ebx + ebx*2]
add eax, eax
mov edx, dword [ecx + eax*8]
cmp edx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
jne 0x455eaa
mov dword [ecx + eax*8 + 0x1c], edx
jmp 0x455eae
mov dword [ecx + eax*8 + 0x24], edx
mov ecx, dword [esp + 0x34]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, dword [0xd2d238]
mov edx, dword [ecx]
cmp edx, dword [esp + 0x20]
jne 0x455ecb
mov dword [ecx + 0x1c], ebx
jmp 0x455ece
mov dword [ecx + 0x24], ebx
mov ecx, dword [0xd2d238]
mov edx, dword [ecx + eax*8]
cmp edx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
jne 0x455ee7
mov dword [ecx + eax*8 + 0x18], edx
jmp 0x455eeb
mov dword [ecx + eax*8 + 0x20], edx
mov ecx, dword [esp + 0x18]
mov edx, dword [0xd2d238]
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
add ecx, ecx
cmp dword [edx + ecx*8], esi
jne 0x455f09
mov ecx, dword [edx + ecx*8 + 0x1c]
jmp 0x455f0d
mov ecx, dword [edx + ecx*8 + 0x24]
cmp ecx, 0xffffffff
je 0x455f3f
lea edi, [ecx + ecx*2]
add edi, edi
cmp dword [edx + edi*8], esi
jne 0x455f22
mov dword [edx + edi*8 + 0x1c], ebx
jmp 0x455f26
mov dword [edx + edi*8 + 0x24], ebx
mov edx, dword [0xd2d238]
mov esi, dword [edx + eax*8]
cmp esi, dword [esp + 0x1c]
jne 0x455f3b
mov dword [edx + eax*8 + 0x18], ecx
jmp 0x455f3f
mov dword [edx + eax*8 + 0x20], ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [0xd2d238]
mov esi, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
add ecx, ecx
cmp dword [edx + ecx*8], esi
jne 0x455f5d
mov ecx, dword [edx + ecx*8 + 0x18]
jmp 0x455f61
mov ecx, dword [edx + ecx*8 + 0x20]
cmp ecx, 0xffffffff
je 0x455f93
lea edi, [ecx + ecx*2]
add edi, edi
cmp dword [edx + edi*8], esi
jne 0x455f76
mov dword [edx + edi*8 + 0x18], ebx
jmp 0x455f7a
mov dword [edx + edi*8 + 0x20], ebx
mov edx, dword [0xd2d238]
mov esi, dword [edx + eax*8]
cmp esi, dword [esp + 0x20]
jne 0x455f8f
mov dword [edx + eax*8 + 0x1c], ecx
jmp 0x455f93
mov dword [edx + eax*8 + 0x24], ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
lea edx, [eax + eax*2]
mov eax, dword [0xd2d238]
shl edx, 4
add eax, edx
cmp dword [eax + 4], ecx
jne 0x455fb5
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
jmp 0x455fbb
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x2c]
push edi
push 0
push esi
push edx
push eax
push ecx
call fcn.0043eea0
add esp, 0x18
mov ebx, eax
cmp edi, 2
jne 0x455fe8
mov edx, dword [0xd2d274]
lea ecx, [esi + esi*4]
mov dword [edx + ecx*8 + 0x10], ebx
jmp 0x456019
test edi, edi
jne 0x455ffa
mov eax, dword [0xd2d290]
shl esi, 6
mov dword [esi + eax + 0x30], ebx
jmp 0x456019
cmp edi, 1
jne 0x45600e
mov ecx, dword [0xd2d29c]
imul esi, esi, 0x68
mov dword [esi + ecx + 0x5c], ebx
jmp 0x456019
push edi
push 0x4c25e4
call ebp
add esp, 8
mov eax, dword [esp + 0x24]
lea edx, [eax + eax*2]
mov eax, dword [0xd2d238]
add edx, edx
mov ecx, dword [eax + edx*8]
cmp ecx, dword [esp + 0x28]
jne 0x456036
mov dword [eax + edx*8 + 0x18], ebx
jmp 0x45603a
mov dword [eax + edx*8 + 0x20], ebx
mov eax, dword [0xd2d238]
lea ecx, [ebx + ebx*2]
add ecx, ecx
mov edx, dword [eax + ecx*8]
cmp edx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
jne 0x456057
mov dword [eax + ecx*8 + 0x1c], edx
jmp 0x45605b
mov dword [eax + ecx*8 + 0x24], edx
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [0xd2d238]
mov edx, dword [eax]
cmp edx, dword [esp + 0x2c]
jne 0x456078
mov dword [eax + 0x1c], ebx
jmp 0x45607b
mov dword [eax + 0x24], ebx
mov eax, dword [0xd2d238]
mov edx, dword [eax + ecx*8]
cmp edx, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
jne 0x456093
mov dword [eax + ecx*8 + 0x18], edx
jmp 0x456097
mov dword [eax + ecx*8 + 0x20], edx
mov eax, dword [esp + 0x24]
mov edx, dword [0xd2d238]
mov esi, dword [esp + 0x28]
lea eax, [eax + eax*2]
add eax, eax
cmp dword [edx + eax*8], esi
jne 0x4560b5
mov eax, dword [edx + eax*8 + 0x1c]
jmp 0x4560b9
mov eax, dword [edx + eax*8 + 0x24]
cmp eax, 0xffffffff
je 0x456664
lea edi, [eax + eax*2]
add edi, edi
cmp dword [edx + edi*8], esi
jne 0x4560d2
mov dword [edx + edi*8 + 0x1c], ebx
jmp 0x4560d6
mov dword [edx + edi*8 + 0x24], ebx
mov edx, dword [0xd2d238]
mov esi, dword [edx + ecx*8]
cmp esi, dword [esp + 0x28]
jne 0x45665a
mov dword [edx + ecx*8 + 0x18], eax
jmp 0x45665e
add edx, edx
cmp dword [eax + edx*8], ebp
jne 0x4560ff
mov esi, dword [eax + edx*8 + 0x18]
jmp 0x456103
mov esi, dword [eax + edx*8 + 0x20]
lea edx, [esi + esi*2]
add edx, edx
cmp dword [eax + edx*8], ebp
jne 0x456113
mov edi, dword [eax + edx*8 + 0x18]
jmp 0x456117
mov edi, dword [eax + edx*8 + 0x20]
mov ebx, dword [esp + 0x60]
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x20]
push eax
lea edx, [esp + 0x44]
push edx
push ecx
push ebp
push 0
push ebx
call fcn.004528f0
add esp, 0x20
cmp byte [0xd2d33c], 0
jne 0x456762
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x40]
push eax
push esi
push ebp
push 0
push ebx
call fcn.004528f0
add esp, 0x20
cmp byte [0xd2d33c], 0
jne 0x456762
lea ecx, [esp + 0x50]
push ecx
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x60]
push ecx
push edi
push ebp
push 0
push ebx
call fcn.004528f0
add esp, 0x20
cmp byte [0xd2d33c], 0
jne 0x456762
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
lea edx, [eax + eax*2]
mov eax, dword [0xd2d238]
shl edx, 4
add eax, edx
cmp dword [eax + 4], ecx
jne 0x4561c7
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
jmp 0x4561cd
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov edx, dword [esp + 0x20]
push edi
push 0
push esi
mov ebp, ebx
push ebp
push edx
push ecx
call fcn.0043eea0
add esp, 0x18
mov ebx, eax
cmp edi, 2
jne 0x4561f8
mov ecx, dword [0xd2d274]
lea eax, [esi + esi*4]
mov dword [ecx + eax*8 + 0x10], ebx
jmp 0x45622d
test edi, edi
jne 0x45620b
mov edx, dword [0xd2d290]
shl esi, 6
mov dword [esi + edx + 0x30], ebx
jmp 0x45622d
cmp edi, 1
jne 0x45621e
mov eax, dword [0xd2d29c]
imul esi, esi, 0x68
mov dword [esi + eax + 0x5c], ebx
jmp 0x45622d
push edi
push 0x4c2610
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
mov eax, dword [esp + 0x18]
mov edx, dword [0xd2d238]
lea eax, [eax + eax*2]
add eax, eax
mov ecx, dword [edx + eax*8]
cmp ecx, dword [esp + 0x1c]
jne 0x45624b
mov dword [edx + eax*8 + 0x18], ebx
jmp 0x45624f
mov dword [edx + eax*8 + 0x20], ebx
mov ecx, dword [0xd2d238]
lea eax, [ebx + ebx*2]
add eax, eax
mov edx, dword [ecx + eax*8]
cmp edx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
jne 0x45626d
mov dword [ecx + eax*8 + 0x1c], edx
jmp 0x456271
mov dword [ecx + eax*8 + 0x24], edx
mov ecx, dword [esp + 0x34]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, dword [0xd2d238]
mov edx, dword [ecx]
cmp edx, dword [esp + 0x20]
jne 0x45628e
mov dword [ecx + 0x1c], ebx
jmp 0x456291
mov dword [ecx + 0x24], ebx
mov ecx, dword [0xd2d238]
mov edx, dword [ecx + eax*8]
cmp edx, dword [esp + 0x20]
mov edx, dword [esp + 0x34]
jne 0x4562aa
mov dword [ecx + eax*8 + 0x18], edx
jmp 0x4562ae
mov dword [ecx + eax*8 + 0x20], edx
mov ecx, dword [esp + 0x18]
mov edx, dword [0xd2d238]
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
add ecx, ecx
cmp dword [edx + ecx*8], esi
jne 0x4562cc
mov ecx, dword [edx + ecx*8 + 0x1c]
jmp 0x4562d0
mov ecx, dword [edx + ecx*8 + 0x24]
cmp ecx, 0xffffffff
je 0x456302
lea edi, [ecx + ecx*2]
add edi, edi
cmp dword [edx + edi*8], esi
jne 0x4562e5
mov dword [edx + edi*8 + 0x1c], ebx
jmp 0x4562e9
mov dword [edx + edi*8 + 0x24], ebx
mov edx, dword [0xd2d238]
mov esi, dword [edx + eax*8]
cmp esi, dword [esp + 0x1c]
jne 0x4562fe
mov dword [edx + eax*8 + 0x18], ecx
jmp 0x456302
mov dword [edx + eax*8 + 0x20], ecx
mov ecx, dword [esp + 0x34]
mov edx, dword [0xd2d238]
mov esi, dword [esp + 0x20]
lea ecx, [ecx + ecx*2]
add ecx, ecx
cmp dword [edx + ecx*8], esi
jne 0x456320
mov ecx, dword [edx + ecx*8 + 0x18]
jmp 0x456324
mov ecx, dword [edx + ecx*8 + 0x20]
cmp ecx, 0xffffffff
je 0x456356
lea edi, [ecx + ecx*2]
add edi, edi
cmp dword [edx + edi*8], esi
jne 0x456339
mov dword [edx + edi*8 + 0x18], ebx
jmp 0x45633d
mov dword [edx + edi*8 + 0x20], ebx
mov edx, dword [0xd2d238]
mov esi, dword [edx + eax*8]
cmp esi, dword [esp + 0x20]
jne 0x456352
mov dword [edx + eax*8 + 0x1c], ecx
jmp 0x456356
mov dword [edx + eax*8 + 0x24], ecx
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
lea edx, [eax + eax*2]
mov eax, dword [0xd2d238]
shl edx, 4
add eax, edx
cmp dword [eax + 4], ecx
jne 0x456378
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
jmp 0x45637e
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov edx, dword [esp + 0x48]
push edi
push 0
push esi
push ebp
push edx
push ecx
call fcn.0043eea0
add esp, 0x18
mov ebx, eax
cmp edi, 2
jne 0x4563a7
mov ecx, dword [0xd2d274]
lea eax, [esi + esi*4]
mov dword [ecx + eax*8 + 0x10], ebx
jmp 0x4563dc
test edi, edi
jne 0x4563ba
mov edx, dword [0xd2d290]
shl esi, 6
mov dword [esi + edx + 0x30], ebx
jmp 0x4563dc
cmp edi, 1
jne 0x4563cd
mov eax, dword [0xd2d29c]
imul esi, esi, 0x68
mov dword [esi + eax + 0x5c], ebx
jmp 0x4563dc
push edi
push 0x4c263c
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
mov eax, dword [esp + 0x24]
mov edx, dword [0xd2d238]
lea eax, [eax + eax*2]
add eax, eax
mov ecx, dword [edx + eax*8]
cmp ecx, dword [esp + 0x28]
jne 0x4563fa
mov dword [edx + eax*8 + 0x18], ebx
jmp 0x4563fe
mov dword [edx + eax*8 + 0x20], ebx
mov ecx, dword [0xd2d238]
lea eax, [ebx + ebx*2]
add eax, eax
mov edx, dword [ecx + eax*8]
cmp edx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
jne 0x45641c
mov dword [ecx + eax*8 + 0x1c], edx
jmp 0x456420
mov dword [ecx + eax*8 + 0x24], edx
mov ecx, dword [esp + 0x54]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, dword [0xd2d238]
mov edx, dword [ecx]
cmp edx, dword [esp + 0x48]
jne 0x45643d
mov dword [ecx + 0x1c], ebx
jmp 0x456440
mov dword [ecx + 0x24], ebx
mov ecx, dword [0xd2d238]
mov edx, dword [ecx + eax*8]
cmp edx, dword [esp + 0x48]
mov edx, dword [esp + 0x54]
jne 0x456459
mov dword [ecx + eax*8 + 0x18], edx
jmp 0x45645d
mov dword [ecx + eax*8 + 0x20], edx
mov ecx, dword [esp + 0x24]
mov edx, dword [0xd2d238]
mov esi, dword [esp + 0x28]
lea ecx, [ecx + ecx*2]
add ecx, ecx
cmp dword [edx + ecx*8], esi
jne 0x45647b
mov ecx, dword [edx + ecx*8 + 0x1c]
jmp 0x45647f
mov ecx, dword [edx + ecx*8 + 0x24]
cmp ecx, 0xffffffff
je 0x4564b1
lea edi, [ecx + ecx*2]
add edi, edi
cmp dword [edx + edi*8], esi
jne 0x456494
mov dword [edx + edi*8 + 0x1c], ebx
jmp 0x456498
mov dword [edx + edi*8 + 0x24], ebx
mov edx, dword [0xd2d238]
mov esi, dword [edx + eax*8]
cmp esi, dword [esp + 0x28]
jne 0x4564ad
mov dword [edx + eax*8 + 0x18], ecx
jmp 0x4564b1
mov dword [edx + eax*8 + 0x20], ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [0xd2d238]
mov esi, dword [esp + 0x48]
lea ecx, [ecx + ecx*2]
add ecx, ecx
cmp dword [edx + ecx*8], esi
jne 0x4564cf
mov ecx, dword [edx + ecx*8 + 0x18]
jmp 0x4564d3
mov ecx, dword [edx + ecx*8 + 0x20]
cmp ecx, 0xffffffff
je 0x456505
lea edi, [ecx + ecx*2]
add edi, edi
cmp dword [edx + edi*8], esi
jne 0x4564e8
mov dword [edx + edi*8 + 0x18], ebx
jmp 0x4564ec
mov dword [edx + edi*8 + 0x20], ebx
mov edx, dword [0xd2d238]
mov esi, dword [edx + eax*8]
cmp esi, dword [esp + 0x48]
jne 0x456501
mov dword [edx + eax*8 + 0x1c], ecx
jmp 0x456505
mov dword [edx + eax*8 + 0x24], ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
lea edx, [eax + eax*2]
mov eax, dword [0xd2d238]
shl edx, 4
add eax, edx
cmp dword [eax + 4], ecx
jne 0x456527
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
jmp 0x45652d
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov edx, dword [esp + 0x2c]
push edi
push 0
push esi
push ebp
push edx
push ecx
call fcn.0043eea0
add esp, 0x18
mov ebx, eax
cmp edi, 2
jne 0x456556
mov ecx, dword [0xd2d274]
lea eax, [esi + esi*4]
mov dword [ecx + eax*8 + 0x10], ebx
jmp 0x45658b
test edi, edi
jne 0x456569
mov edx, dword [0xd2d290]
shl esi, 6
mov dword [esi + edx + 0x30], ebx
jmp 0x45658b
cmp edi, 1
jne 0x45657c
mov eax, dword [0xd2d29c]
imul esi, esi, 0x68
mov dword [esi + eax + 0x5c], ebx
jmp 0x45658b
push edi
push 0x4c2668
call dword [sym.imp.MSVCR100.dll_printf]
add esp, 8
mov eax, dword [esp + 0x4c]
mov edx, dword [0xd2d238]
lea eax, [eax + eax*2]
add eax, eax
mov ecx, dword [edx + eax*8]
cmp ecx, dword [esp + 0x50]
jne 0x4565a9
mov dword [edx + eax*8 + 0x18], ebx
jmp 0x4565ad
mov dword [edx + eax*8 + 0x20], ebx
mov eax, dword [0xd2d238]
lea ecx, [ebx + ebx*2]
add ecx, ecx
mov edx, dword [eax + ecx*8]
cmp edx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
jne 0x4565ca
mov dword [eax + ecx*8 + 0x1c], edx
jmp 0x4565ce
mov dword [eax + ecx*8 + 0x24], edx
mov eax, dword [esp + 0x38]
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [0xd2d238]
mov edx, dword [eax]
cmp edx, dword [esp + 0x2c]
jne 0x4565eb
mov dword [eax + 0x1c], ebx
jmp 0x4565ee
mov dword [eax + 0x24], ebx
mov eax, dword [0xd2d238]
mov edx, dword [eax + ecx*8]
cmp edx, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
jne 0x456606
mov dword [eax + ecx*8 + 0x18], edx
jmp 0x45660a
mov dword [eax + ecx*8 + 0x20], edx
mov eax, dword [esp + 0x4c]
mov edx, dword [0xd2d238]
mov esi, dword [esp + 0x50]
lea eax, [eax + eax*2]
add eax, eax
cmp dword [edx + eax*8], esi
jne 0x456628
mov eax, dword [edx + eax*8 + 0x1c]
jmp 0x45662c
mov eax, dword [edx + eax*8 + 0x24]
cmp eax, 0xffffffff
je 0x456664
lea edi, [eax + eax*2]
add edi, edi
cmp dword [edx + edi*8], esi
jne 0x456641
mov dword [edx + edi*8 + 0x1c], ebx
jmp 0x456645
mov dword [edx + edi*8 + 0x24], ebx
mov edx, dword [0xd2d238]
mov esi, dword [edx + ecx*8]
cmp esi, dword [esp + 0x50]
jne 0x45665a
mov dword [edx + ecx*8 + 0x18], eax
jmp 0x45665e
mov dword [edx + ecx*8 + 0x20], eax
mov edx, dword [0xd2d238]
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
lea eax, [eax + eax*2]
add eax, eax
cmp dword [edx + eax*8], esi
jne 0x45667c
mov eax, dword [edx + eax*8 + 0x18]
jmp 0x456680
mov eax, dword [edx + eax*8 + 0x20]
cmp eax, 0xffffffff
je 0x4566b2
lea edi, [eax + eax*2]
add edi, edi
cmp dword [edx + edi*8], esi
jne 0x456695
mov dword [edx + edi*8 + 0x18], ebx
jmp 0x456699
mov dword [edx + edi*8 + 0x20], ebx
mov edx, dword [0xd2d238]
mov esi, dword [edx + ecx*8]
cmp esi, dword [esp + 0x2c]
jne 0x4566ae
mov dword [edx + ecx*8 + 0x1c], eax
jmp 0x4566b2
mov dword [edx + ecx*8 + 0x24], eax
mov ecx, dword [esp + 0x14]
push ecx
call fcn.0043eca0
mov edx, dword [0xd2d290]
mov esi, dword [esp + 0x5c]
add esp, 4
mov dword [esi + edx + 0x30], ebx
call fcn.0043f920
mov eax, dword [0xd2d290]
mov ecx, dword [esi + eax + 0x30]
mov eax, dword [0xd2d238]
mov edx, dword [esp + 0x60]
lea esi, [ecx + ecx*2]
shl esi, 4
cmp dword [esi + eax + 0xc], edx
jne 0x4566fd
cmp dword [esi + eax + 0x14], 0
jne 0x4566fd
mov ebx, dword [esi + eax + 4]
jmp 0x456700
mov ebx, dword [esi + eax]
mov ebp, ecx
mov edx, dword [esi + eax + 8]
cmp edx, dword [esp + 0x60]
jne 0x45671d
cmp dword [esi + eax + 0x10], 0
jne 0x45671d
mov edx, dword [esi + eax + 0xc]
mov edi, dword [esi + eax + 0x14]
jmp 0x456721
mov edi, dword [esi + eax + 0x10]
cmp edi, 2
jne 0x45673a
mov eax, dword [esp + 0x60]
push edx
push eax
push ecx
call fcn.004520a0
mov eax, dword [0xd2d238]
add esp, 0xc
cmp dword [esi + eax], ebx
jne 0x456745
mov ecx, dword [esi + eax + 0x18]
jmp 0x456749
mov ecx, dword [esi + eax + 0x20]
lea esi, [ecx + ecx*2]
shl esi, 4
mov edx, dword [esi + eax]
cmp edx, ebx
jne 0x45675c
mov ebx, dword [esi + eax + 4]
jmp 0x45675e
mov ebx, edx
cmp ecx, ebp
jne 0x456702
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret