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

Disassembly:
sub esp, 0x4c
mov ecx, dword [0x49a0a0]
fld qword [0x48b3a8]
push ebx
fstp qword [0x49a278]
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 [0x49a2ac], 0
call fcn.0046c420
mov edi, eax
add esp, 0x14
mov dword [esp + 0x38], edi
cmp edi, 0xffffffff
jne 0x46da4c
fld qword [0x48b3f8]
lea edx, [esp + 0x40]
push edx
fstp qword [0x49a278]
lea eax, [esp + 0x17]
push eax
push esi
push ebp
push ebx
call fcn.0046c420
mov edi, eax
add esp, 0x14
mov dword [esp + 0x38], eax
cmp edi, 0xffffffff
jne 0x46da4c
push 1
push 0
push esi
call fcn.00467100
add esp, 0xc
test al, al
jne 0x46ec33
push esi
push ebx
call fcn.00475c60
mov edi, eax
add esp, 8
mov dword [esp + 0x38], edi
xor cl, cl
jmp 0x46da50
mov cl, byte [esp + 0x13]
mov edx, dword [0x49a038]
lea eax, [edi + edi*2]
shl eax, 4
mov dword [esp + 0x3c], eax
mov dword [eax + edx + 0x18], 0
test cl, cl
je 0x46da75
mov dword [esp + 0x40], edi
jmp 0x46db04
fld qword [0x48b3a8]
lea eax, [esp + 0x40]
push eax
fstp qword [0x49a278]
lea ecx, [esp + 0x17]
push ecx
push esi
push ebx
push ebp
call fcn.0046c420
add esp, 0x14
mov dword [esp + 0x40], eax
cmp eax, 0xffffffff
jne 0x46daec
fld qword [0x48b3f8]
lea edx, [esp + 0x40]
push edx
fstp qword [0x49a278]
lea eax, [esp + 0x17]
push eax
push esi
push ebx
push ebp
call fcn.0046c420
add esp, 0x14
mov dword [esp + 0x40], eax
cmp eax, 0xffffffff
jne 0x46daec
push 1
push 0
push esi
call fcn.00467100
add esp, 0xc
test al, al
jne 0x46ec33
push esi
push ebp
call fcn.00475c60
add esp, 8
mov dword [esp + 0x40], eax
cmp edi, eax
je 0x46db04
mov edx, dword [0x49a038]
lea ecx, [eax + eax*2]
shl ecx, 4
mov dword [ecx + edx + 0x18], 0
fld qword [0x48b3f0]
mov eax, dword [0x49a038]
fstp qword [0x49a278]
jmp 0x46db20
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + eax + 0x1c]
mov ebp, dword [esp + 0x38]
lea edx, [esi + esi*2]
shl edx, 4
cmp byte [ecx + eax + 0x24], 0
je 0x46db74
mov edi, dword [0x49a044]
add edx, edi
cmp dword [edx], ebp
jne 0x46db4a
mov edi, dword [edx + 0x18]
jmp 0x46db4d
mov edi, dword [edx + 0x20]
mov dword [ecx + eax + 0x18], 3
mov eax, dword [esp + 0x60]
push eax
push ebp
push esi
mov ebx, esi
call fcn.0046d240
mov ecx, dword [esp + 0x6c]
push ecx
push ebp
push edi
call fcn.0046d240
add esp, 0x18
jmp 0x46dbcb
mov ebx, dword [0x49a044]
add edx, ebx
cmp dword [edx], ebp
jne 0x46db85
mov edi, dword [edx + 0x18]
jmp 0x46db88
mov edi, dword [edx + 0x20]
lea edx, [edi + edi*2]
shl edx, 4
add edx, ebx
cmp dword [edx], ebp
jne 0x46db99
mov ebx, dword [edx + 0x18]
jmp 0x46db9c
mov ebx, dword [edx + 0x20]
mov dword [ecx + eax + 0x18], 3
mov eax, dword [esp + 0x60]
push eax
push ebp
push esi
call fcn.0046d240
mov ecx, dword [esp + 0x6c]
push ecx
push ebp
push edi
call fcn.0046d240
mov edx, dword [esp + 0x78]
push edx
push ebp
push ebx
call fcn.0046d240
add esp, 0x24
mov ebp, dword [esp + 0x40]
mov eax, dword [0x49a038]
lea ebp, [ebp + ebp*2]
shl ebp, 4
cmp dword [eax + ebp + 0x18], 3
je 0x46dc3f
fldz
fld qword [0x49a278]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x46dcc0
fstp st(0)
fstp qword [0x49a278]
mov ebp, dword [esp + 0x38]
push ebp
push esi
mov dword [0x49a2ac], 0
call fcn.0046a420
push ebp
push edi
call fcn.0046a420
mov eax, dword [0x49a038]
mov ecx, dword [esp + 0x4c]
add esp, 0x10
cmp byte [ecx + eax + 0x24], 0
jne 0x46dc3f
mov edx, ebp
push edx
push ebx
call fcn.0046a420
add esp, 8
mov eax, dword [0x49a038]
mov ecx, dword [esp + 0x40]
lea ecx, [ecx + ecx*2]
shl ecx, 4
cmp dword [ecx + eax + 0x18], 3
jne 0x46db20
xor esi, esi
cmp dword [0x49a2ac], esi
jle 0x46ddaa
mov edi, dword [esp + 0x60]
jmp 0x46dc70
fld qword [0x48b260]
fstp qword [0x49a278]
lea esp, [esp]
mov eax, dword [0x49a2a8]
mov edx, dword [eax + esi*8 + 4]
mov eax, dword [eax + esi*8]
push edi
push edx
push eax
call fcn.0046c750
add esp, 0xc
test al, al
jne 0x46dd98
cmp byte [0x49a14c], al
jne 0x46ec33
fldz
fld qword [0x49a278]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x46dd37
fstp st(0)
jmp 0x46dc76
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x46dcd8
fstp st(0)
fld qword [0x48b3f8]
jmp 0x46dbf9
fmul qword [0x4854e8]
fst qword [0x49a278]
fcomp qword [0x48b460]
fnstsw ax
test ah, 0x41
jnp 0x46dbff
mov eax, dword [esp + 0x60]
push 1
push 0
push eax
call fcn.00467100
add esp, 0xc
test al, al
jne 0x46ec33
mov ecx, dword [0x49a038]
mov edx, dword [esp + 0x38]
mov dword [ecx + ebp + 0x18], 0
mov dword [esp + 0x40], edx
mov byte [0x49a14e], 1
mov byte [0x49a922], 1
jmp 0x46dc3a
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x46dd4f
fstp st(0)
fld qword [0x48b3f8]
jmp 0x46dc76
fmul qword [0x4854e8]
fst qword [0x49a278]
fcomp qword [0x48b460]
fnstsw ax
test ah, 0x41
jnp 0x46dc80
push 1
push 0
push edi
call fcn.00467100
add esp, 0xc
test al, al
jne 0x46ec33
mov eax, dword [0x49a2a8]
mov ecx, dword [eax + esi*8 + 4]
mov edx, dword [eax + esi*8]
push edi
push ecx
push edx
call fcn.00475ea0
add esp, 0xc
inc esi
cmp esi, dword [0x49a2ac]
jl 0x46dc70
mov eax, dword [0x49a038]
mov edi, dword [esp + 0x3c]
mov ecx, dword [edi + eax + 0x1c]
mov ebp, dword [esp + 0x38]
mov dword [edi + eax + 0x18], 2
lea eax, [esp + 0x2c]
push eax
xor edx, edx
push ebp
push ecx
mov dword [0x49a2ac], edx
mov dword [0x49a2b8], edx
mov dword [0x49a2bc], edx
call fcn.0046ab20
add esp, 0xc
test al, al
je 0x46df3f
lea esp, [esp]
mov ecx, dword [esp + 0x2c]
push ecx
push ebp
call fcn.0046aad0
fld qword [0x48b260]
add esp, 8
fstp qword [0x49a278]
lea ebx, [ebx]
mov esi, dword [esp + 0x60]
push esi
call fcn.0046cd30
mov bl, al
add esp, 4
test bl, bl
jne 0x46de92
cmp byte [0x49a14c], al
jne 0x46ec33
fldz
fld qword [0x49a278]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x46de44
fstp st(0)
jmp 0x46de04
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x46de59
fstp st(0)
fld qword [0x48b3f8]
jmp 0x46de04
fmul qword [0x4854e8]
fst qword [0x49a278]
fcomp qword [0x48b460]
fnstsw ax
test ah, 0x41
jnp 0x46de10
push 1
push 0
push esi
call fcn.00467100
add esp, 0xc
test al, al
jne 0x46ec33
push esi
call fcn.00476050
add esp, 4
mov bl, 1
mov edx, dword [0x49a038]
xor eax, eax
mov dword [0x49a2b8], eax
mov dword [0x49a2bc], eax
mov eax, dword [esp + 0x3c]
mov edi, dword [eax + edx + 0x1c]
push ebp
push edi
call fcn.0046a520
add esp, 8
cmp dword [esp + 0x2c], ebp
jne 0x46df0a
mov edx, dword [0x49a044]
lea ecx, [edi + edi*2]
shl ecx, 4
cmp dword [ecx + edx], ebp
lea eax, [ecx + edx]
jne 0x46ded5
mov esi, dword [eax + 0x18]
jmp 0x46ded8
mov esi, dword [eax + 0x20]
push ebp
push esi
call fcn.0046a520
mov ecx, dword [0x49a044]
lea eax, [esi + esi*2]
shl eax, 4
add eax, ecx
add esp, 8
cmp dword [eax], ebp
jne 0x46def9
mov eax, dword [eax + 0x18]
jmp 0x46defc
mov eax, dword [eax + 0x20]
cmp eax, edi
je 0x46df0a
push ebp
push eax
call fcn.0046a520
add esp, 8
mov edx, dword [0x49a038]
mov eax, dword [esp + 0x3c]
mov dword [eax + edx + 0x18], 2
test bl, bl
je 0x46de10
lea ecx, [esp + 0x2c]
push ecx
push ebp
push edi
call fcn.0046ab20
add esp, 0xc
test al, al
jne 0x46ddf0
mov edi, dword [esp + 0x3c]
mov edx, dword [0x49a038]
mov ebx, dword [edi + edx + 0x1c]
mov eax, dword [0x49a044]
mov esi, dword [esp + 0x60]
lea edi, [ebx + ebx*2]
shl edi, 4
mov dword [esp + 0x40], ebx
cmp dword [edi + eax], ebp
jne 0x46df67
mov eax, dword [edi + eax + 0x18]
jmp 0x46df6b
mov eax, dword [edi + eax + 0x20]
xor ecx, ecx
mov dword [0x49a2b8], ecx
mov dword [0x49a2bc], ecx
lea ecx, [esp + 0x2c]
push ecx
push ebp
push eax
call fcn.0046ab20
add esp, 0xc
test al, al
je 0x46e0bd
jmp 0x46df96
mov esi, dword [esp + 0x60]
mov edx, dword [esp + 0x2c]
push edx
push ebp
call fcn.0046aad0
fld qword [0x48b260]
fstp qword [0x49a278]
add esp, 8
jmp 0x46dfb6
mov esi, dword [esp + 0x60]
push esi
call fcn.0046cd30
mov bl, al
add esp, 4
test bl, bl
jne 0x46e040
cmp byte [0x49a14c], al
jne 0x46ec33
fldz
fld qword [0x49a278]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x46dfec
fstp st(0)
fstp qword [0x49a278]
jmp 0x46dfb6
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x46e007
fstp st(0)
fld qword [0x48b3f8]
fstp qword [0x49a278]
jmp 0x46dfb6
fmul qword [0x4854e8]
fst qword [0x49a278]
fcomp qword [0x48b460]
fnstsw ax
test ah, 0x41
jnp 0x46dfb6
push 1
push 0
push esi
call fcn.00467100
add esp, 0xc
test al, al
jne 0x46ec33
push esi
call fcn.00476050
add esp, 4
mov bl, 1
xor eax, eax
mov dword [0x49a2b8], eax
mov dword [0x49a2bc], eax
mov eax, dword [0x49a044]
cmp dword [edi + eax], ebp
jne 0x46e05c
mov esi, dword [edi + eax + 0x18]
jmp 0x46e060
mov esi, dword [edi + eax + 0x20]
push ebp
push esi
call fcn.0046a520
add esp, 8
cmp dword [esp + 0x2c], ebp
jne 0x46e09a
mov ecx, dword [0x49a044]
lea eax, [esi + esi*2]
shl eax, 4
add eax, ecx
cmp dword [eax], ebp
jne 0x46e087
mov eax, dword [eax + 0x18]
jmp 0x46e08a
mov eax, dword [eax + 0x20]
cmp eax, dword [esp + 0x40]
je 0x46e09a
push ebp
push eax
call fcn.0046a520
add esp, 8
test bl, bl
je 0x46dfb2
lea edx, [esp + 0x2c]
push edx
push ebp
push esi
call fcn.0046ab20
add esp, 0xc
test al, al
jne 0x46df92
mov ebx, dword [esp + 0x40]
mov eax, dword [0x49a044]
cmp dword [edi + eax], ebp
jne 0x46e0cd
mov edi, dword [edi + eax + 0x18]
jmp 0x46e0d1
mov edi, dword [edi + eax + 0x20]
lea edi, [edi + edi*2]
shl edi, 4
cmp dword [edi + eax], ebp
jne 0x46e0e2
mov ecx, dword [edi + eax + 0x18]
jmp 0x46e0e6
mov ecx, dword [edi + eax + 0x20]
xor edx, edx
mov dword [0x49a2b8], edx
mov dword [0x49a2bc], edx
cmp ecx, ebx
je 0x46e20c
lea eax, [esp + 0x2c]
push eax
push ebp
push ecx
call fcn.0046ab20
add esp, 0xc
test al, al
je 0x46e207
mov ecx, dword [esp + 0x2c]
push ecx
push ebp
call fcn.0046aad0
fld qword [0x48b260]
fstp qword [0x49a278]
add esp, 8
lea ecx, [ecx]
mov esi, dword [esp + 0x60]
push esi
call fcn.0046cd30
mov bl, al
add esp, 4
test bl, bl
jne 0x46e1be
cmp byte [0x49a14c], al
jne 0x46ec33
fldz
fld qword [0x49a278]
fcom st(1)
fnstsw ax
test ah, 5
jp 0x46e16a
fstp st(0)
fstp qword [0x49a278]
jmp 0x46e134
fucom st(1)
fnstsw ax
fstp st(1)
test ah, 0x44
jp 0x46e185
fstp st(0)
fld qword [0x48b3f8]
fstp qword [0x49a278]
jmp 0x46e134
fmul qword [0x4854e8]
fst qword [0x49a278]
fcomp qword [0x48b460]
fnstsw ax
test ah, 0x41
jnp 0x46e134
push 1
push 0
push esi
call fcn.00467100
add esp, 0xc
test al, al
jne 0x46ec33
push esi
call fcn.00476050
add esp, 4
mov bl, 1
xor eax, eax
mov dword [0x49a2b8], eax
mov dword [0x49a2bc], eax
mov eax, dword [0x49a044]
cmp dword [edi + eax], ebp
jne 0x46e1da
mov esi, dword [edi + eax + 0x18]
jmp 0x46e1de
mov esi, dword [edi + eax + 0x20]
push ebp
push esi
call fcn.0046a520
add esp, 8
test bl, bl
je 0x46e130
lea edx, [esp + 0x2c]
push edx
push ebp
push esi
call fcn.0046ab20
add esp, 0xc
test al, al
jne 0x46e113
mov eax, dword [0x49a044]
mov edx, dword [esp + 0x3c]
mov ecx, dword [0x49a038]
cmp byte [edx + ecx + 0x24], 0
mov ecx, dword [edx + ecx + 0x1c]
lea edx, [ecx + ecx*2]
je 0x46e5b7
shl edx, 4
add eax, edx
cmp dword [eax], ebp
jne 0x46e236
mov esi, dword [eax + 0x18]
jmp 0x46e239
mov esi, dword [eax + 0x20]
mov edi, dword [esp + 0x60]
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x40]
push edx
push ecx
push ebp
push 0
push edi
call fcn.0046ae80
add esp, 0x20
cmp byte [0x49a14c], 0
jne 0x46ec33
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x3c]
push eax
push esi
push ebp
push 0
push edi
call fcn.0046ae80
add esp, 0x20
cmp byte [0x49a14c], 0
jne 0x46ec33
mov eax, dword [esp + 0x14]
mov edx, dword [0x49a044]
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [ecx + edx]
mov ecx, dword [esp + 0x18]
cmp dword [eax + 4], ecx
jne 0x46e2bd
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
jmp 0x46e2c3
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x1c]
push edi
push 0
push esi
push eax
push edx
push ecx
call fcn.004592e0
mov ebp, dword [sym.imp.MSVCR90.dll_printf]
add esp, 0x18
mov ebx, eax
cmp edi, 2
jne 0x46e2f6
mov ecx, dword [0x49a084]
lea eax, [esi + esi*4]
mov dword [ecx + eax*8 + 0x10], ebx
jmp 0x46e327
test edi, edi
jne 0x46e309
mov edx, dword [0x49a0a0]
shl esi, 6
mov dword [esi + edx + 0x30], ebx
jmp 0x46e327
cmp edi, 1
jne 0x46e31c
mov eax, dword [0x49a0ac]
imul esi, esi, 0x68
mov dword [esi + eax + 0x5c], ebx
jmp 0x46e327
push edi
push 0x4928d8
call ebp
add esp, 8
mov eax, dword [esp + 0x14]
mov edx, dword [0x49a044]
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [ecx + edx]
mov ecx, dword [eax]
cmp ecx, dword [esp + 0x18]
jne 0x46e347
mov dword [eax + 0x18], ebx
jmp 0x46e34a
mov dword [eax + 0x20], ebx
mov ecx, dword [0x49a044]
lea eax, [ebx + ebx*2]
shl eax, 4
mov edx, dword [eax + ecx]
cmp edx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
jne 0x46e369
mov dword [eax + ecx + 0x1c], edx
jmp 0x46e36d
mov dword [eax + ecx + 0x24], edx
mov ecx, dword [esp + 0x30]
mov edx, dword [0x49a044]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, edx
mov edx, dword [ecx]
cmp edx, dword [esp + 0x1c]
jne 0x46e38c
mov dword [ecx + 0x1c], ebx
jmp 0x46e38f
mov dword [ecx + 0x24], ebx
mov ecx, dword [0x49a044]
mov edx, dword [eax + ecx]
cmp edx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
jne 0x46e3a8
mov dword [eax + ecx + 0x18], edx
jmp 0x46e3ac
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [0x49a044]
mov esi, dword [esp + 0x18]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, edx
cmp dword [ecx], esi
jne 0x46e3cb
mov ecx, dword [ecx + 0x1c]
jmp 0x46e3ce
mov ecx, dword [ecx + 0x24]
cmp ecx, 0xffffffff
je 0x46e400
lea edi, [ecx + ecx*2]
shl edi, 4
add edx, edi
cmp dword [edx], esi
jne 0x46e3e4
mov dword [edx + 0x1c], ebx
jmp 0x46e3e7
mov dword [edx + 0x24], ebx
mov edx, dword [0x49a044]
mov esi, dword [eax + edx]
cmp esi, dword [esp + 0x18]
jne 0x46e3fc
mov dword [eax + edx + 0x18], ecx
jmp 0x46e400
mov dword [eax + edx + 0x20], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [0x49a044]
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, edx
cmp dword [ecx], esi
jne 0x46e41f
mov ecx, dword [ecx + 0x18]
jmp 0x46e422
mov ecx, dword [ecx + 0x20]
cmp ecx, 0xffffffff
je 0x46e454
lea edi, [ecx + ecx*2]
shl edi, 4
add edx, edi
cmp dword [edx], esi
jne 0x46e438
mov dword [edx + 0x18], ebx
jmp 0x46e43b
mov dword [edx + 0x20], ebx
mov edx, dword [0x49a044]
mov esi, dword [eax + edx]
cmp esi, dword [esp + 0x1c]
jne 0x46e450
mov dword [eax + edx + 0x1c], ecx
jmp 0x46e454
mov dword [eax + edx + 0x24], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
lea edx, [eax + eax*2]
mov eax, dword [0x49a044]
shl edx, 4
add eax, edx
cmp dword [eax + 4], ecx
jne 0x46e476
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
jmp 0x46e47c
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x28]
push edi
push 0
push esi
push edx
push eax
push ecx
call fcn.004592e0
add esp, 0x18
mov ebx, eax
cmp edi, 2
jne 0x46e4a9
mov edx, dword [0x49a084]
lea ecx, [esi + esi*4]
mov dword [edx + ecx*8 + 0x10], ebx
jmp 0x46e4da
test edi, edi
jne 0x46e4bb
mov eax, dword [0x49a0a0]
shl esi, 6
mov dword [esi + eax + 0x30], ebx
jmp 0x46e4da
cmp edi, 1
jne 0x46e4cf
mov ecx, dword [0x49a0ac]
imul esi, esi, 0x68
mov dword [esi + ecx + 0x5c], ebx
jmp 0x46e4da
push edi
push 0x492904
call ebp
add esp, 8
mov eax, dword [esp + 0x20]
lea edx, [eax + eax*2]
mov eax, dword [0x49a044]
shl edx, 4
mov ecx, dword [eax + edx]
add eax, edx
cmp ecx, dword [esp + 0x24]
jne 0x46e4f9
mov dword [eax + 0x18], ebx
jmp 0x46e4fc
mov dword [eax + 0x20], ebx
mov eax, dword [0x49a044]
lea ecx, [ebx + ebx*2]
shl ecx, 4
mov edx, dword [ecx + eax]
cmp edx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
jne 0x46e51a
mov dword [ecx + eax + 0x1c], edx
jmp 0x46e51e
mov dword [ecx + eax + 0x24], edx
mov eax, dword [esp + 0x34]
mov edx, dword [0x49a044]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edx
mov edx, dword [eax]
cmp edx, dword [esp + 0x28]
jne 0x46e53d
mov dword [eax + 0x1c], ebx
jmp 0x46e540
mov dword [eax + 0x24], ebx
mov eax, dword [0x49a044]
mov edx, dword [ecx + eax]
cmp edx, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
jne 0x46e558
mov dword [ecx + eax + 0x18], edx
jmp 0x46e55c
mov dword [ecx + eax + 0x20], edx
mov eax, dword [esp + 0x20]
mov edx, dword [0x49a044]
mov esi, dword [esp + 0x24]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edx
cmp dword [eax], esi
jne 0x46e57b
mov eax, dword [eax + 0x1c]
jmp 0x46e57e
mov eax, dword [eax + 0x24]
cmp eax, 0xffffffff
je 0x46eb35
lea edi, [eax + eax*2]
shl edi, 4
add edx, edi
cmp dword [edx], esi
jne 0x46e598
mov dword [edx + 0x1c], ebx
jmp 0x46e59b
mov dword [edx + 0x24], ebx
mov edx, dword [0x49a044]
mov esi, dword [ecx + edx]
cmp esi, dword [esp + 0x24]
jne 0x46eb2b
mov dword [ecx + edx + 0x18], eax
jmp 0x46eb2f
shl edx, 4
add edx, eax
cmp dword [edx], ebp
jne 0x46e5c5
mov esi, dword [edx + 0x18]
jmp 0x46e5c8
mov esi, dword [edx + 0x20]
lea edx, [esi + esi*2]
shl edx, 4
add eax, edx
cmp dword [eax], ebp
jne 0x46e5d9
mov edi, dword [eax + 0x18]
jmp 0x46e5dc
mov edi, dword [eax + 0x20]
mov ebx, dword [esp + 0x60]
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x1c]
push eax
lea edx, [esp + 0x40]
push edx
push ecx
push ebp
push 0
push ebx
call fcn.0046ae80
add esp, 0x20
cmp byte [0x49a14c], 0
jne 0x46ec33
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x28]
push edx
lea eax, [esp + 0x3c]
push eax
push esi
push ebp
push 0
push ebx
call fcn.0046ae80
add esp, 0x20
cmp byte [0x49a14c], 0
jne 0x46ec33
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.0046ae80
add esp, 0x20
cmp byte [0x49a14c], 0
jne 0x46ec33
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
lea edx, [eax + eax*2]
mov eax, dword [0x49a044]
shl edx, 4
add eax, edx
cmp dword [eax + 4], ecx
jne 0x46e68c
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
jmp 0x46e692
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov edx, dword [esp + 0x1c]
push edi
push 0
push esi
mov ebp, ebx
push ebp
push edx
push ecx
call fcn.004592e0
add esp, 0x18
mov ebx, eax
cmp edi, 2
jne 0x46e6bd
mov ecx, dword [0x49a084]
lea eax, [esi + esi*4]
mov dword [ecx + eax*8 + 0x10], ebx
jmp 0x46e6f2
test edi, edi
jne 0x46e6d0
mov edx, dword [0x49a0a0]
shl esi, 6
mov dword [esi + edx + 0x30], ebx
jmp 0x46e6f2
cmp edi, 1
jne 0x46e6e3
mov eax, dword [0x49a0ac]
imul esi, esi, 0x68
mov dword [esi + eax + 0x5c], ebx
jmp 0x46e6f2
push edi
push 0x492930
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 8
mov eax, dword [esp + 0x14]
mov edx, dword [0x49a044]
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [ecx + edx]
mov ecx, dword [eax]
cmp ecx, dword [esp + 0x18]
jne 0x46e712
mov dword [eax + 0x18], ebx
jmp 0x46e715
mov dword [eax + 0x20], ebx
mov ecx, dword [0x49a044]
lea eax, [ebx + ebx*2]
shl eax, 4
mov edx, dword [eax + ecx]
cmp edx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
jne 0x46e734
mov dword [eax + ecx + 0x1c], edx
jmp 0x46e738
mov dword [eax + ecx + 0x24], edx
mov ecx, dword [esp + 0x30]
mov edx, dword [0x49a044]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, edx
mov edx, dword [ecx]
cmp edx, dword [esp + 0x1c]
jne 0x46e757
mov dword [ecx + 0x1c], ebx
jmp 0x46e75a
mov dword [ecx + 0x24], ebx
mov ecx, dword [0x49a044]
mov edx, dword [eax + ecx]
cmp edx, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
jne 0x46e773
mov dword [eax + ecx + 0x18], edx
jmp 0x46e777
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [esp + 0x14]
mov edx, dword [0x49a044]
mov esi, dword [esp + 0x18]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, edx
cmp dword [ecx], esi
jne 0x46e796
mov ecx, dword [ecx + 0x1c]
jmp 0x46e799
mov ecx, dword [ecx + 0x24]
cmp ecx, 0xffffffff
je 0x46e7cb
lea edi, [ecx + ecx*2]
shl edi, 4
add edx, edi
cmp dword [edx], esi
jne 0x46e7af
mov dword [edx + 0x1c], ebx
jmp 0x46e7b2
mov dword [edx + 0x24], ebx
mov edx, dword [0x49a044]
mov esi, dword [eax + edx]
cmp esi, dword [esp + 0x18]
jne 0x46e7c7
mov dword [eax + edx + 0x18], ecx
jmp 0x46e7cb
mov dword [eax + edx + 0x20], ecx
mov ecx, dword [esp + 0x30]
mov edx, dword [0x49a044]
mov esi, dword [esp + 0x1c]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, edx
cmp dword [ecx], esi
jne 0x46e7ea
mov ecx, dword [ecx + 0x18]
jmp 0x46e7ed
mov ecx, dword [ecx + 0x20]
cmp ecx, 0xffffffff
je 0x46e81f
lea edi, [ecx + ecx*2]
shl edi, 4
add edx, edi
cmp dword [edx], esi
jne 0x46e803
mov dword [edx + 0x18], ebx
jmp 0x46e806
mov dword [edx + 0x20], ebx
mov edx, dword [0x49a044]
mov esi, dword [eax + edx]
cmp esi, dword [esp + 0x1c]
jne 0x46e81b
mov dword [eax + edx + 0x1c], ecx
jmp 0x46e81f
mov dword [eax + edx + 0x24], ecx
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
lea edx, [eax + eax*2]
mov eax, dword [0x49a044]
shl edx, 4
add eax, edx
cmp dword [eax + 4], ecx
jne 0x46e841
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
jmp 0x46e847
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.004592e0
add esp, 0x18
mov ebx, eax
cmp edi, 2
jne 0x46e870
mov ecx, dword [0x49a084]
lea eax, [esi + esi*4]
mov dword [ecx + eax*8 + 0x10], ebx
jmp 0x46e8a5
test edi, edi
jne 0x46e883
mov edx, dword [0x49a0a0]
shl esi, 6
mov dword [esi + edx + 0x30], ebx
jmp 0x46e8a5
cmp edi, 1
jne 0x46e896
mov eax, dword [0x49a0ac]
imul esi, esi, 0x68
mov dword [esi + eax + 0x5c], ebx
jmp 0x46e8a5
push edi
push 0x49295c
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 8
mov eax, dword [esp + 0x20]
mov edx, dword [0x49a044]
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [ecx + edx]
mov ecx, dword [eax]
cmp ecx, dword [esp + 0x24]
jne 0x46e8c5
mov dword [eax + 0x18], ebx
jmp 0x46e8c8
mov dword [eax + 0x20], ebx
mov ecx, dword [0x49a044]
lea eax, [ebx + ebx*2]
shl eax, 4
mov edx, dword [eax + ecx]
cmp edx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
jne 0x46e8e7
mov dword [eax + ecx + 0x1c], edx
jmp 0x46e8eb
mov dword [eax + ecx + 0x24], edx
mov ecx, dword [esp + 0x54]
mov edx, dword [0x49a044]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, edx
mov edx, dword [ecx]
cmp edx, dword [esp + 0x48]
jne 0x46e90a
mov dword [ecx + 0x1c], ebx
jmp 0x46e90d
mov dword [ecx + 0x24], ebx
mov ecx, dword [0x49a044]
mov edx, dword [eax + ecx]
cmp edx, dword [esp + 0x48]
mov edx, dword [esp + 0x54]
jne 0x46e926
mov dword [eax + ecx + 0x18], edx
jmp 0x46e92a
mov dword [eax + ecx + 0x20], edx
mov ecx, dword [esp + 0x20]
mov edx, dword [0x49a044]
mov esi, dword [esp + 0x24]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, edx
cmp dword [ecx], esi
jne 0x46e949
mov ecx, dword [ecx + 0x1c]
jmp 0x46e94c
mov ecx, dword [ecx + 0x24]
cmp ecx, 0xffffffff
je 0x46e97e
lea edi, [ecx + ecx*2]
shl edi, 4
add edx, edi
cmp dword [edx], esi
jne 0x46e962
mov dword [edx + 0x1c], ebx
jmp 0x46e965
mov dword [edx + 0x24], ebx
mov edx, dword [0x49a044]
mov esi, dword [eax + edx]
cmp esi, dword [esp + 0x24]
jne 0x46e97a
mov dword [eax + edx + 0x18], ecx
jmp 0x46e97e
mov dword [eax + edx + 0x20], ecx
mov ecx, dword [esp + 0x54]
mov edx, dword [0x49a044]
mov esi, dword [esp + 0x48]
lea ecx, [ecx + ecx*2]
shl ecx, 4
add ecx, edx
cmp dword [ecx], esi
jne 0x46e99d
mov ecx, dword [ecx + 0x18]
jmp 0x46e9a0
mov ecx, dword [ecx + 0x20]
cmp ecx, 0xffffffff
je 0x46e9d2
lea edi, [ecx + ecx*2]
shl edi, 4
add edx, edi
cmp dword [edx], esi
jne 0x46e9b6
mov dword [edx + 0x18], ebx
jmp 0x46e9b9
mov dword [edx + 0x20], ebx
mov edx, dword [0x49a044]
mov esi, dword [eax + edx]
cmp esi, dword [esp + 0x48]
jne 0x46e9ce
mov dword [eax + edx + 0x1c], ecx
jmp 0x46e9d2
mov dword [eax + edx + 0x24], ecx
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
lea edx, [eax + eax*2]
mov eax, dword [0x49a044]
shl edx, 4
add eax, edx
cmp dword [eax + 4], ecx
jne 0x46e9f4
mov esi, dword [eax + 0xc]
mov edi, dword [eax + 0x14]
jmp 0x46e9fa
mov esi, dword [eax + 8]
mov edi, dword [eax + 0x10]
mov edx, dword [esp + 0x28]
push edi
push 0
push esi
push ebp
push edx
push ecx
call fcn.004592e0
add esp, 0x18
mov ebx, eax
cmp edi, 2
jne 0x46ea23
mov ecx, dword [0x49a084]
lea eax, [esi + esi*4]
mov dword [ecx + eax*8 + 0x10], ebx
jmp 0x46ea58
test edi, edi
jne 0x46ea36
mov edx, dword [0x49a0a0]
shl esi, 6
mov dword [esi + edx + 0x30], ebx
jmp 0x46ea58
cmp edi, 1
jne 0x46ea49
mov eax, dword [0x49a0ac]
imul esi, esi, 0x68
mov dword [esi + eax + 0x5c], ebx
jmp 0x46ea58
push edi
push 0x492988
call dword [sym.imp.MSVCR90.dll_printf]
add esp, 8
mov eax, dword [esp + 0x4c]
mov edx, dword [0x49a044]
lea ecx, [eax + eax*2]
shl ecx, 4
lea eax, [ecx + edx]
mov ecx, dword [eax]
cmp ecx, dword [esp + 0x50]
jne 0x46ea78
mov dword [eax + 0x18], ebx
jmp 0x46ea7b
mov dword [eax + 0x20], ebx
mov eax, dword [0x49a044]
lea ecx, [ebx + ebx*2]
shl ecx, 4
mov edx, dword [ecx + eax]
cmp edx, dword [esp + 0x50]
mov edx, dword [esp + 0x4c]
jne 0x46ea99
mov dword [ecx + eax + 0x1c], edx
jmp 0x46ea9d
mov dword [ecx + eax + 0x24], edx
mov eax, dword [esp + 0x34]
mov edx, dword [0x49a044]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edx
mov edx, dword [eax]
cmp edx, dword [esp + 0x28]
jne 0x46eabc
mov dword [eax + 0x1c], ebx
jmp 0x46eabf
mov dword [eax + 0x24], ebx
mov eax, dword [0x49a044]
mov edx, dword [ecx + eax]
cmp edx, dword [esp + 0x28]
mov edx, dword [esp + 0x34]
jne 0x46ead7
mov dword [ecx + eax + 0x18], edx
jmp 0x46eadb
mov dword [ecx + eax + 0x20], edx
mov eax, dword [esp + 0x4c]
mov edx, dword [0x49a044]
mov esi, dword [esp + 0x50]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edx
cmp dword [eax], esi
jne 0x46eafa
mov eax, dword [eax + 0x1c]
jmp 0x46eafd
mov eax, dword [eax + 0x24]
cmp eax, 0xffffffff
je 0x46eb35
lea edi, [eax + eax*2]
shl edi, 4
add edx, edi
cmp dword [edx], esi
jne 0x46eb13
mov dword [edx + 0x1c], ebx
jmp 0x46eb16
mov dword [edx + 0x24], ebx
mov edx, dword [0x49a044]
mov esi, dword [ecx + edx]
cmp esi, dword [esp + 0x50]
jne 0x46eb2b
mov dword [ecx + edx + 0x18], eax
jmp 0x46eb2f
mov dword [ecx + edx + 0x20], eax
mov edx, dword [0x49a044]
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edx
cmp dword [eax], esi
jne 0x46eb4e
mov eax, dword [eax + 0x18]
jmp 0x46eb51
mov eax, dword [eax + 0x20]
cmp eax, 0xffffffff
je 0x46eb83
lea edi, [eax + eax*2]
shl edi, 4
add edx, edi
cmp dword [edx], esi
jne 0x46eb67
mov dword [edx + 0x18], ebx
jmp 0x46eb6a
mov dword [edx + 0x20], ebx
mov edx, dword [0x49a044]
mov esi, dword [ecx + edx]
cmp esi, dword [esp + 0x28]
jne 0x46eb7f
mov dword [ecx + edx + 0x1c], eax
jmp 0x46eb83
mov dword [ecx + edx + 0x24], eax
mov ecx, dword [esp + 0x38]
push ecx
call fcn.004590e0
mov edx, dword [0x49a0a0]
mov esi, dword [esp + 0x5c]
add esp, 4
mov dword [esi + edx + 0x30], ebx
call fcn.00459d00
mov eax, dword [0x49a0a0]
mov ecx, dword [esi + eax + 0x30]
mov eax, dword [0x49a044]
mov edx, dword [esp + 0x60]
lea esi, [ecx + ecx*2]
shl esi, 4
cmp dword [esi + eax + 0xc], edx
jne 0x46ebce
cmp dword [esi + eax + 0x14], 0
jne 0x46ebce
mov ebx, dword [esi + eax + 4]
jmp 0x46ebd1
mov ebx, dword [esi + eax]
mov ebp, ecx
mov edx, dword [esi + eax + 8]
cmp edx, dword [esp + 0x60]
jne 0x46ebee
cmp dword [esi + eax + 0x10], 0
jne 0x46ebee
mov edx, dword [esi + eax + 0xc]
mov edi, dword [esi + eax + 0x14]
jmp 0x46ebf2
mov edi, dword [esi + eax + 0x10]
cmp edi, 2
jne 0x46ec0b
mov eax, dword [esp + 0x60]
push edx
push eax
push ecx
call fcn.0046a610
mov eax, dword [0x49a044]
add esp, 0xc
cmp dword [esi + eax], ebx
jne 0x46ec16
mov ecx, dword [esi + eax + 0x18]
jmp 0x46ec1a
mov ecx, dword [esi + eax + 0x20]
lea esi, [ecx + ecx*2]
shl esi, 4
mov edx, dword [esi + eax]
cmp edx, ebx
jne 0x46ec2d
mov ebx, dword [esi + eax + 4]
jmp 0x46ec2f
mov ebx, edx
cmp ecx, ebp
jne 0x46ebd3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret