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

Disassembly:
push ebx
push edi
push esi
sub esp, 0x4a4
mov ecx, dword [esp + 0x4d0]
mov dword [esp + 0x3c], ecx
mov edx, dword [esp + 0x4cc]
mov dword [esp + 0x40], edx
mov esi, dword [esp + 0x4c8]
mov dword [esp + 0x44], esi
mov edi, dword [esp + 0x4c4]
mov dword [esp + 0x48], edi
mov eax, dword [esp + 0x4c0]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4bc]
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x4b8]
mov eax, dword [esp + 0x4b4]
mov dword [esp + 0x54], eax
mov dword [esp + 0x380], edi
mov dword [esp + 0x384], esi
mov dword [esp + 0x388], edx
mov dword [esp + 0x38c], ecx
mov eax, dword [eax]
mov al, byte [eax + 0x10]
and al, 1
movzx eax, al
cmp eax, 0
jne 0x40a21b
mov eax, dword [esp + 0x4b8]
mov dword [esp], eax
call fcn.00425b00
test al, 1
jne 0x40a22a
mov eax, dword [esp + 0x54]
cmp dword [eax + 4], 0
je 0x40a23f
jmp 0x40a42e
mov byte [esp + 0x5a], 0
mov al, byte [esp + 0x5a]
and al, 1
add esp, 0x4a4
pop esi
pop edi
pop ebx
ret
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov dword [esp + 0x38], ecx
mov eax, dword [eax]
add eax, 0xc
mov dword [esp + 0x44c], eax
mov dword [esp + 0x458], eax
lea ecx, [fcn.004644a0]
mov dword [esp + 0x45c], ecx
mov dword [esp], eax
call fcn.00465050
mov dword [esp], eax
call fcn.00464da0
mov dword [esp + 0x450], eax
lea eax, [fcn.004644a0]
mov dword [esp + 0x454], eax
mov eax, dword [esp + 0x450]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x454]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x78], eax
mov byte [esp + 0xc7], 3
mov dword [esp + 0xc8], 2
mov dword [esp + 0xd4], 4
mov dword [esp + 0xd0], 0
mov bl, byte [esp + 0xc7]
mov esi, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x408], 0
mov dword [esp + 0x40c], 0x20
mov byte [esp + 0x413], bl
mov dword [esp + 0x414], 0
mov dword [esp + 0x418], esi
mov dword [esp + 0x41c], edx
mov dword [esp + 0x420], ecx
mov dword [esp + 0x424], eax
mov dword [esp + 0xb8], 0
mov dword [esp + 0xb4], 0x20
mov byte [esp + 0xc0], bl
mov dword [esp + 0xbc], 0
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], eax
lea ecx, [esp + 0x84]
lea eax, [esp + 0xa4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.0046c8a0
lea esi, [esp + 0x5c]
lea edx, [0x47c448]
lea ecx, [esp + 0x74]
lea eax, [esp + 0x84]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00419290
mov ecx, dword [esp + 0x38]
lea eax, [esp + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004193e0
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.00459ba0
and al, 1
mov byte [esp + 0x5b], al
mov al, byte [esp + 0x5b]
and al, 1
movzx eax, al
cmp eax, 0
je 0x40a49c
jmp 0x40a4b4
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
lea ecx, [esp + 0x16c]
lea eax, [0x47c498]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0045ccd0
mov ecx, dword [esp + 0x34]
lea eax, [esp + 0x16c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004193e0
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.00459ba0
and al, 1
mov byte [esp + 0x16b], al
mov al, byte [esp + 0x16b]
and al, 1
movzx eax, al
cmp eax, 0
je 0x40a7ad
jmp 0x40a7c5
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov al, byte [eax + 0x10]
and al, 1
movzx eax, al
cmp eax, 1
je 0x40a4cd
jmp 0x40a73d
lea eax, [0x47c480]
mov dword [esp], eax
call fcn.00459c00
and al, 1
mov byte [esp + 0x5a], al
jmp 0x40a22f
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x4b8]
mov dword [esp + 0x490], eax
lea eax, [esp + 0x4b8]
mov dword [esp + 0x49c], eax
lea eax, [0x425e80]
mov dword [esp + 0x4a0], eax
lea eax, [esp + 0x4b8]
mov dword [esp], eax
call fcn.00465020
mov dword [esp], eax
call fcn.00464ca0
mov dword [esp + 0x494], eax
lea eax, [0x425e80]
mov dword [esp + 0x498], eax
mov eax, dword [esp + 0x494]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x498]
mov dword [esp + 0x108], eax
lea eax, [0x47c46c]
mov dword [esp + 0x43c], eax
mov dword [esp + 0x438], 0xa
mov dword [esp + 0x434], 0
mov eax, dword [esp + 0x434]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x438]
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x108]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x110]
mov dword [esp + 0x100], eax
mov byte [esp + 0x157], 3
mov dword [esp + 0x158], 2
mov dword [esp + 0x164], 1
mov dword [esp + 0x160], 1
mov bl, byte [esp + 0x157]
mov esi, dword [esp + 0x158]
mov edx, dword [esp + 0x15c]
mov ecx, dword [esp + 0x160]
mov eax, dword [esp + 0x164]
mov dword [esp + 0x3e8], 0
mov dword [esp + 0x3ec], 0x20
mov byte [esp + 0x3f3], bl
mov dword [esp + 0x3f4], 0
mov dword [esp + 0x3f8], esi
mov dword [esp + 0x3fc], edx
mov dword [esp + 0x400], ecx
mov dword [esp + 0x404], eax
mov dword [esp + 0x148], 0
mov dword [esp + 0x144], 0x20
mov byte [esp + 0x150], bl
mov dword [esp + 0x14c], 0
mov dword [esp + 0x134], esi
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], eax
lea ecx, [esp + 0x114]
lea eax, [esp + 0x134]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.0046c8a0
lea esi, [esp + 0xdc]
lea edx, [0x47c45c]
lea ecx, [esp + 0xf4]
lea eax, [esp + 0x114]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00419290
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0xdc]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004193e0
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.00459ba0
and al, 1
mov byte [esp + 0xdb], al
mov al, byte [esp + 0xdb]
and al, 1
movzx eax, al
cmp eax, 0
jne 0x40a794
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov ecx, dword [ecx]
add ecx, 0x10
mov dword [esp + 0x2c], ecx
lea ecx, [esp + 0x214]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x28
call fcn.0046c8a0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x23c], eax
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x214], 3
cmove eax, ecx
cmp eax, 0
je 0x40aa88
jmp 0x40aaef
lea eax, [0x47c470]
mov dword [esp], eax
call fcn.00459c00
and al, 1
mov byte [esp + 0x5a], al
jmp 0x40a22f
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov al, byte [eax + 0x10]
and al, 1
movzx eax, al
cmp eax, 1
je 0x40a7de
jmp 0x40a73d
lea eax, [0x47c530]
mov dword [esp], eax
call fcn.00459c00
and al, 1
mov byte [esp + 0x5a], al
jmp 0x40a22f
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x28], eax
lea eax, [0x47c4a0]
mov dword [esp + 0x448], eax
lea eax, [0x47c4a0]
mov dword [esp + 0x488], eax
lea eax, [fcn.004603e0]
mov dword [esp + 0x48c], eax
lea eax, [0x47c4a0]
mov dword [esp], eax
call fcn.004650b0
mov dword [esp], eax
call fcn.00464c90
mov dword [esp + 0x480], eax
lea eax, [fcn.004603e0]
mov dword [esp + 0x484], eax
mov eax, dword [esp + 0x480]
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x484]
mov dword [esp + 0x1b4], eax
mov eax, 0xa
add eax, 3
setb al
jb 0x40aa62
lea eax, [0x47c4b8]
mov dword [esp + 0x430], eax
mov dword [esp + 0x42c], 0xd
mov dword [esp + 0x428], 0
mov eax, dword [esp + 0x428]
mov dword [esp + 0x1b8], eax
mov eax, dword [esp + 0x42c]
mov dword [esp + 0x1bc], eax
mov eax, dword [esp + 0x1b0]
mov dword [esp + 0x1a0], eax
mov eax, dword [esp + 0x1b4]
mov dword [esp + 0x1a4], eax
mov eax, dword [esp + 0x1b8]
mov dword [esp + 0x1a8], eax
mov eax, dword [esp + 0x1bc]
mov dword [esp + 0x1ac], eax
mov byte [esp + 0x203], 3
mov dword [esp + 0x204], 2
mov dword [esp + 0x210], 1
mov dword [esp + 0x20c], 1
mov bl, byte [esp + 0x203]
mov esi, dword [esp + 0x204]
mov edx, dword [esp + 0x208]
mov ecx, dword [esp + 0x20c]
mov eax, dword [esp + 0x210]
mov dword [esp + 0x3c8], 0
mov dword [esp + 0x3cc], 0x20
mov byte [esp + 0x3d3], bl
mov dword [esp + 0x3d4], 0
mov dword [esp + 0x3d8], esi
mov dword [esp + 0x3dc], edx
mov dword [esp + 0x3e0], ecx
mov dword [esp + 0x3e4], eax
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x1f0], 0x20
mov byte [esp + 0x1fc], bl
mov dword [esp + 0x1f8], 0
mov dword [esp + 0x1e0], esi
mov dword [esp + 0x1e4], edx
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1ec], eax
lea ecx, [esp + 0x1c0]
lea eax, [esp + 0x1e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.0046c8a0
lea esi, [esp + 0x188]
lea edx, [0x47c4a0]
lea ecx, [esp + 0x1a0]
lea eax, [esp + 0x1c0]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00419290
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x188]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004193e0
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.00459ba0
and al, 1
mov byte [esp + 0x187], al
mov al, byte [esp + 0x187]
and al, 1
movzx eax, al
cmp eax, 0
je 0x40a73d
jmp 0x40aa6f
mov eax, esp
mov dword [eax], str.C:UsersTomashu.rustup_toolchains_nightly_x86_64_pc_windows_msvclib_rustlib_src_rustlibrary_std_src...._backtrace_srcprint.rs
call fcn.00456a90
lea eax, [0x47c4bc]
mov dword [esp], eax
call fcn.00459c00
and al, 1
mov byte [esp + 0x5a], al
jmp 0x40a22f
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x24], eax
lea ecx, [esp + 0x340]
lea eax, [0x47c4d8]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0045ccd0
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x340]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004193e0
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.00459ba0
and al, 1
mov byte [esp + 0x33f], al
mov al, byte [esp + 0x33f]
and al, 1
movzx eax, al
cmp eax, 0
je 0x40ab07
jmp 0x40ab5b
mov eax, dword [esp + 0x23c]
mov al, byte [eax]
and al, 1
movzx eax, al
cmp eax, 0
je 0x40ab74
jmp 0x40ada9
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov ecx, dword [eax]
lea eax, [0x47c16c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
call fcn.0045e650
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.00459ba0
and al, 1
mov byte [esp + 0x35b], al
mov al, byte [esp + 0x35b]
and al, 1
movzx eax, al
cmp eax, 0
je 0x40aeff
jmp 0x40af4f
lea eax, [0x47c4e0]
mov dword [esp], eax
call fcn.00459c00
and al, 1
mov byte [esp + 0x5a], al
jmp 0x40a22f
lea ecx, [esp + 0x240]
lea eax, [esp + 0x214]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x28
call fcn.0046c8a0
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x20], eax
lea eax, [esp + 0x240]
mov dword [esp + 0x444], eax
lea eax, [esp + 0x240]
mov dword [esp + 0x468], eax
lea eax, [0x405050]
mov dword [esp + 0x46c], eax
lea eax, [esp + 0x240]
mov dword [esp], eax
call fcn.0042ba30
mov dword [esp], eax
call fcn.0042a670
mov dword [esp + 0x460], eax
lea eax, [0x405050]
mov dword [esp + 0x464], eax
mov eax, dword [esp + 0x460]
mov dword [esp + 0x28c], eax
mov eax, dword [esp + 0x464]
mov dword [esp + 0x290], eax
mov eax, dword [esp + 0x28c]
mov dword [esp + 0x284], eax
mov eax, dword [esp + 0x290]
mov dword [esp + 0x288], eax
mov byte [esp + 0x2d7], 3
mov dword [esp + 0x2d8], 2
mov dword [esp + 0x2e0], 2
mov bl, byte [esp + 0x2d7]
mov esi, dword [esp + 0x2d8]
mov edx, dword [esp + 0x2dc]
mov ecx, dword [esp + 0x2e0]
mov eax, dword [esp + 0x2e4]
mov dword [esp + 0x3a8], 0
mov dword [esp + 0x3ac], 0x20
mov byte [esp + 0x3b3], bl
mov dword [esp + 0x3b4], 4
mov dword [esp + 0x3b8], esi
mov dword [esp + 0x3bc], edx
mov dword [esp + 0x3c0], ecx
mov dword [esp + 0x3c4], eax
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x2c4], 0x20
mov byte [esp + 0x2d0], bl
mov dword [esp + 0x2cc], 4
mov dword [esp + 0x2b4], esi
mov dword [esp + 0x2b8], edx
mov dword [esp + 0x2bc], ecx
mov dword [esp + 0x2c0], eax
lea ecx, [esp + 0x294]
lea eax, [esp + 0x2b4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x20
call fcn.0046c8a0
lea esi, [esp + 0x26c]
lea edx, [0x47c4a0]
lea ecx, [esp + 0x284]
lea eax, [esp + 0x294]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 1
call fcn.00419290
mov ecx, dword [esp + 0x20]
lea eax, [esp + 0x26c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004193e0
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.00459ba0
and al, 1
mov byte [esp + 0x26b], al
mov al, byte [esp + 0x26b]
and al, 1
movzx eax, al
cmp eax, 0
je 0x40ab07
jmp 0x40aecd
lea ecx, [esp + 0x2e8]
lea eax, [esp + 0x214]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0x28
call fcn.0046c8a0
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x2e8]
mov dword [esp + 0x440], eax
lea eax, [esp + 0x2e8]
mov dword [esp + 0x478], eax
lea eax, [0x405050]
mov dword [esp + 0x47c], eax
lea eax, [esp + 0x2e8]
mov dword [esp], eax
call fcn.0042ba30
mov dword [esp], eax
call fcn.0042a670
mov dword [esp + 0x470], eax
lea eax, [0x405050]
mov dword [esp + 0x474], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 0x334], eax
mov eax, dword [esp + 0x474]
mov dword [esp + 0x338], eax
mov eax, dword [esp + 0x334]
mov dword [esp + 0x32c], eax
mov eax, dword [esp + 0x338]
mov dword [esp + 0x330], eax
lea edx, [esp + 0x314]
lea ecx, [0x47c4a0]
lea eax, [esp + 0x32c]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045cdd0
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x314]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.004193e0
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.00459ba0
and al, 1
mov byte [esp + 0x313], al
mov al, byte [esp + 0x313]
and al, 1
movzx eax, al
cmp eax, 0
je 0x40ab07
jmp 0x40aee6
lea eax, [0x47c4f0]
mov dword [esp], eax
call fcn.00459c00
and al, 1
mov byte [esp + 0x5a], al
jmp 0x40a22f
lea eax, [0x47c520]
mov dword [esp], eax
call fcn.00459c00
and al, 1
mov byte [esp + 0x5a], al
jmp 0x40a22f
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov esi, dword [edx]
mov dword [esp + 0x35c], esi
mov esi, dword [edx + 4]
mov dword [esp + 0x360], esi
mov edx, dword [edx + 8]
mov dword [esp + 0x364], edx
mov dword [esp + 0x368], ecx
mov dword [esp + 0x36c], eax
mov eax, 1
xor ecx, ecx
cmp dword [esp + 0x35c], 2
cmove eax, ecx
cmp eax, 1
je 0x40af68
jmp 0x40af72
lea eax, [0x47c510]
mov dword [esp], eax
call fcn.00459c00
and al, 1
mov byte [esp + 0x5a], al
jmp 0x40a22f
cmp dword [esp + 0x368], 1
je 0x40af7c
mov byte [esp + 0x5a], 0
jmp 0x40a22f
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x54]
mov edx, dword [esp + 0x35c]
mov dword [esp + 0x370], edx
mov edx, dword [esp + 0x360]
mov dword [esp + 0x374], edx
mov edx, dword [esp + 0x364]
mov dword [esp + 0x378], edx
mov edx, dword [esp + 0x36c]
mov dword [esp + 0x3a4], edx
lea esi, [esp + 0x370]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0040b030
movzx ecx, al
and ecx, 1
mov eax, esp
mov dword [eax], ecx
call fcn.00459ba0
and al, 1
mov byte [esp + 0x37f], al
mov al, byte [esp + 0x37f]
and al, 1
movzx eax, al
cmp eax, 0
je 0x40af72
lea eax, [0x47c500]
mov dword [esp], eax
call fcn.00459c00
and al, 1
mov byte [esp + 0x5a], al
jmp 0x40a22f