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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx]
ja 0x41b59f
xor edi, edi
mov eax, 0x28
call fcn.0042a440
jmp fcn.0041b580
sub esp, 0x7c
mov dword [esp], 0
call fcn.00418d40
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x68], eax
cmp dword [esp + 0x80], 0xffffffff
jne 0x41b5d1
cmp dword [esp + 0x84], 0xffffffff
je 0x41c023
mov dword [esp + 0x70], 0
lea eax, [esp + 0x30]
mov dword [esp], eax
mov eax, 0x24
mov dword [esp + 4], eax
call fcn.0042c2c0
mov ecx, dword [esp + 0x8c]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x84]
mov dword [esp + 0x40], eax
mov byte [esp + 0x5f], 0
mov byte [esp + 0x5e], 0
cmp dword [esp + 0x94], 0
jne 0x41b62d
cmp dword [esp + 0x9c], 0
je 0x41c019
xor eax, eax
mov byte [esp + 0x5d], al
mov edx, dword [ecx + 0x10]
mov eax, dword [ecx + 0xc]
mov ecx, eax
cmp ecx, 0
mov dword [esp + 0x1c], ecx
je 0x41b650
mov eax, dword [ecx + 8]
cmp eax, 0xffffffff
je 0x41c00f
cmp edx, 0
mov dword [esp + 0x20], edx
je 0x41b665
mov eax, dword [edx + 0x10]
cmp eax, 0
je 0x41c005
cmp dword [esp + 0x34], 0
jne 0x41b67b
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp + 0x34], eax
add dword [esp + 0x40], 4
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
call fcn.00429040
mov ecx, eax
cmp eax, 0
jne 0x41b6c0
cmp dword [esp + 0x9c], 0
je 0x41b6ba
mov eax, str.runtime:_unknown_pc__p_n
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00412350
mov eax, 0x769658
mov dword [esp], eax
call fcn.00411860
xor eax, eax
add esp, 0x7c
ret
mov dword [esp + 0x30], eax
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0x8c]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0x98]
jge 0x41b7b6
mov eax, 0x42b650
cmp dword [esp + 0x34], eax
jne 0x41b958
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 8]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x30], 0
cmp byte [esp + 0x5d], 0
je 0x41b74f
mov dword [esp], 0
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
call fcn.00429280
cmp al, 0
jne 0x41b946
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c], eax
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
call fcn.00429040
mov dword [esp + 0x58], eax
cmp dword [esp + 0x58], 0
jne 0x41b79d
mov eax, str.runtime:_unknown_pc__p_after_stack_split_n
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00412350
cmp dword [esp + 0x9c], 0
je 0x41b79d
mov eax, 0x7696b1
mov dword [esp], eax
call fcn.00411860
mov eax, dword [esp + 0x58]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0x98]
jl 0x41b6eb
cmp dword [esp + 0x94], 0
jne 0x41b7ce
cmp dword [esp + 0x9c], 0
je 0x41b939
cmp dword [esp + 0x9c], 0
je 0x41b7e5
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0x98]
jl 0x41b7ed
mov eax, dword [esp + 0x74]
add esp, 0x7c
ret
cmp dword [esp + 0x1c], 0
je 0x41b7e5
cmp dword [esp + 0x1c], 0
je 0x41b833
mov eax, str.runtime:_g_D:_leftover_defer_argp_p_pc_p_n
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + 0x50]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x10], eax
call fcn.00412350
cmp dword [esp + 0x20], 0
je 0x41b878
mov eax, str.runtime:_g_D:_leftover_panic_argp_p_pc_p_n
mov dword [esp], eax
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + 0x50]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x54]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x10], eax
call fcn.00412350
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0xc]
cmp ecx, 0
je 0x41b8b6
mov eax, str._tdefer__p_argp_p_pc_p_n
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [ecx + 8]
mov dword [esp + 8], eax
mov dword [esp + 0x1c], ecx
mov eax, dword [ecx + 0xc]
mov dword [esp + 0xc], eax
call fcn.00412350
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x14]
cmp ecx, 0
jne 0x41b887
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x10]
cmp ecx, 0
je 0x41b927
mov eax, str._tpanic__p_defer__p
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x20], ecx
mov eax, dword [ecx + 0x10]
mov dword [esp + 8], eax
call fcn.00412350
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x10]
cmp eax, 0
je 0x41b90e
mov eax, str._argp_p_pc_p
mov dword [esp], eax
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 8], eax
call fcn.00412350
mov eax, 0x76986c
mov dword [esp], eax
call fcn.00412350
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xc]
cmp ecx, 0
jne 0x41b8c5
mov eax, str.traceback_has_leftover_defers_or_panics
mov dword [esp], eax
call fcn.00411860
jmp 0x41b7e5
mov eax, dword [esp + 0x70]
mov dword [esp + 0x74], eax
jmp 0x41b7ce
mov eax, str.______stack_segment_boundary_______n
mov dword [esp], eax
call fcn.00412350
jmp 0x41b74f
mov eax, dword [esp + 0x30]
mov edx, eax
cmp eax, 0
je 0x41b972
mov eax, dword [edx]
mov ecx, 0x42c6f0
cmp eax, ecx
je 0x41befa
cmp dword [esp + 0x44], 0
jne 0x41b9a2
mov dword [esp + 0x58], edx
mov dword [esp], edx
mov ecx, dword [esp + 0x34]
mov dword [esp + 4], ecx
call fcn.00428de0
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
add ecx, eax
mov eax, ecx
mov dword [esp + 0x44], ecx
add dword [esp + 0x44], 4
mov ecx, edx
mov dword [esp + 0x58], edx
mov dword [esp], edx
call fcn.00418a30
cmp al, 0
je 0x41be80
mov dword [esp + 0x3c], 0
mov dword [esp + 0x54], 0
mov eax, dword [esp + 0x44]
add eax, 0xfffffffc
mov dword [esp + 0x48], eax
cmp dword [esp + 0x9c], 0
jne 0x41bd92
cmp byte [esp + 0x5d], 0
jne 0x41bd92
mov ecx, dword [esp + 0x40]
cmp byte [esp + 0x5e], 0
je 0x41b9fb
add ecx, 8
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], eax
cmp byte [esp + 0x5f], 0
je 0x41ba41
cmp dword [esp + 0x20], 0
je 0x41ba23
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
cmp eax, ecx
je 0x41bd7f
cmp dword [esp + 0x1c], 0
je 0x41ba39
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
cmp eax, ecx
je 0x41bd6f
mov dword [esp + 0x38], 0
cmp dword [esp + 0x20], 0
je 0x41ba78
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
cmp eax, 0
je 0x41ba66
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
cmp eax, ecx
jne 0x41bd57
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x20], 0
jne 0x41ba48
cmp dword [esp + 0x1c], 0
je 0x41baa8
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
cmp eax, ecx
je 0x41ba96
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 8]
cmp eax, 0xffffffff
jne 0x41baa8
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0
jne 0x41ba7f
cmp dword [esp + 0x90], 0
jle 0x41bb3c
dec dword [esp + 0x90]
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov ecx, 0x40ffa0
cmp eax, ecx
jne 0x41bb38
mov eax, 1
mov byte [esp + 0x5f], al
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx]
mov edx, fcn.00416310
cmp ecx, edx
je 0x41bb31
mov ecx, dword [esp + 0x58]
mov ecx, dword [ecx]
mov edx, fcn.00410af0
cmp ecx, edx
je 0x41bb31
xor eax, eax
mov byte [esp + 0x5e], al
cmp dword [esp + 0x54], 0
je 0x41b7b6
mov eax, dword [esp + 0x54]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x44]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
jmp 0x41b6da
mov eax, 1
jmp 0x41baf5
xor eax, eax
jmp 0x41bad1
cmp dword [esp + 0x94], 0
je 0x41bb58
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x94]
mov dword [edx + ecx*4], eax
cmp dword [esp + 0x9c], 0
je 0x41bb8a
lea ecx, [esp + 0x30]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x9c]
call eax
cmp al, 0
jne 0x41bb8a
mov eax, dword [esp + 0x74]
add esp, 0x7c
ret
cmp byte [esp + 0x5d], 0
je 0x41bbb7
cmp byte [esp + 0xa4], 0
jne 0x41bbc0
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
call fcn.00429280
cmp al, 0
jne 0x41bbc0
inc dword [esp + 0x74]
jmp 0x41babd
mov eax, dword [esp + 0x34]
mov dword [esp + 0x64], eax
cmp dword [esp + 0x74], 0
jle 0x41bbdf
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
cmp dword [esp + 0x34], eax
ja 0x41bd43
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
call fcn.00428c80
mov dword [esp + 0x14], eax
mov eax, 0x7697ae
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
call fcn.00412350
xor edx, edx
mov eax, dword [esp + 0x50]
shr eax, 2
cmp edx, eax
jae 0x41bc27
cmp edx, 0xa
jl 0x41bd06
mov eax, str.__...
mov dword [esp], eax
call fcn.00412300
mov eax, 0x7697bb
mov dword [esp], eax
call fcn.00412300
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea ecx, [esp + 0x24]
mov dword [esp + 8], ecx
call fcn.00428d90
mov ecx, eax
mov eax, 0x7697be
mov dword [esp], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 8], eax
mov eax, ecx
mov dword [esp + 0xc], ecx
call fcn.00412350
mov ecx, dword [esp + 0x58]
mov eax, dword [ecx]
cmp dword [esp + 0x34], eax
jbe 0x41bc9c
mov eax, 0x7697c5
mov dword [esp], eax
mov eax, dword [ecx]
mov ecx, dword [esp + 0x34]
sub ecx, eax
mov eax, ecx
mov dword [esp + 4], ecx
call fcn.00412350
mov eax, dword fs:[0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x64]
cmp eax, 0
jle 0x41bcfd
mov eax, dword fs:[0x14]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x4c]
cmp dword [esp + 0x8c], eax
jne 0x41bcfd
mov eax, str._fp_p_sp_p
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
call fcn.00412350
mov eax, 0x7697d7
mov dword [esp], eax
call fcn.00412350
inc dword [esp + 0x70]
jmp 0x41bbb7
cmp dword [esp + 0x68], 2
jl 0x41bce7
jmp 0x41bcca
cmp edx, 0
mov dword [esp + 0x78], edx
je 0x41bd20
mov eax, 0x7697b8
mov dword [esp], eax
call fcn.00412300
mov edx, dword [esp + 0x78]
mov ecx, edx
mov edx, dword [esp + 0x4c]
mov eax, dword [edx + ecx*4]
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.00412c80
mov edx, dword [esp + 0x78]
inc edx
jmp 0x41bc06
cmp byte [esp + 0x5f], 0
jne 0x41bbdf
dec dword [esp + 0x64]
jmp 0x41bbdf
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
cmp eax, 0xffffffff
je 0x41ba66
jmp 0x41ba78
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x38], eax
jmp 0x41ba41
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x38], eax
jmp 0x41ba41
mov eax, dword [esp + 0x44]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
cmp eax, 0x80000000
je 0x41bdb8
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 8]
mov dword [esp + 0x50], eax
jmp 0x41b9ed
cmp dword [esp + 0x54], 0
jne 0x41bdcc
mov dword [esp + 0x50], 0
jmp 0x41b9ed
mov eax, 0x42b650
cmp dword [esp + 0x3c], eax
jne 0x41bde7
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x50], eax
jmp 0x41b9ed
mov ecx, dword [esp + 0x54]
mov dword [esp], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 4], ecx
call fcn.00428ed0
cmp eax, 0
jl 0x41be09
mov dword [esp + 0x50], eax
jmp 0x41b9ed
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
call fcn.00428c80
mov edx, dword [esp + 0x54]
mov dword [esp + 0x14], eax
cmp edx, 0
je 0x41be79
mov ecx, edx
mov dword [esp], edx
call fcn.00428c80
mov dword [esp + 0x10], eax
mov eax, str.runtime:_unknown_argument_frame_size_for__s_called_from__p___s__n
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xc], eax
call fcn.00412350
cmp dword [esp + 0x9c], 0
je 0x41be6c
mov eax, str.invalid_stack
mov dword [esp], eax
call fcn.00411860
mov dword [esp + 0x50], 0
jmp 0x41b9ed
mov eax, 0x76979e
jmp 0x41be2c
cmp dword [esp + 0x3c], 0
jne 0x41be92
mov eax, dword [esp + 0x44]
mov eax, dword [eax - 4]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x3c]
mov dword [esp], ecx
call fcn.00429040
mov dword [esp + 0x54], eax
cmp dword [esp + 0x54], 0
jne 0x41b9c9
mov ecx, dword [esp + 0x58]
mov dword [esp], ecx
call fcn.00428c80
mov dword [esp + 0x14], eax
mov eax, str.runtime:_unexpected_return_pc_for__s_called_from__p_n
mov dword [esp], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 8], eax
call fcn.00412350
cmp dword [esp + 0x9c], 0
je 0x41b9c9
mov eax, str.unknown_caller_pc
mov dword [esp], eax
call fcn.00411860
jmp 0x41b9c9
mov eax, dword [edx]
cmp dword [esp + 0x34], eax
jbe 0x41b972
cmp dword [esp + 0x9c], 0
je 0x41bf50
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], 0
mov dword [esp + 0x50], 0
lea ecx, [esp + 0x30]
mov dword [esp], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x9c]
call eax
cmp al, 0
jne 0x41bf50
mov eax, dword [esp + 0x74]
add esp, 0x7c
ret
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 4]
mov eax, dword [ecx + 0xb8]
mov dword [esp + 0x34], eax
mov eax, dword [ecx + 0xc4]
mov dword [esp + 0x40], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x30], 0
cmp byte [esp + 0x5d], 0
je 0x41bfa6
mov dword [esp], 0
mov ecx, dword [esp + 0x8c]
mov dword [esp + 4], ecx
call fcn.00429280
cmp al, 0
jne 0x41bff6
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
call fcn.00429040
mov dword [esp + 0x58], eax
cmp dword [esp + 0x58], 0
jne 0x41bfe9
mov eax, str.runtime:_unknown_pc__p_after_exception_handler_n
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
call fcn.00412350
cmp dword [esp + 0x9c], 0
je 0x41bfe9
mov eax, str.unknown_pc
mov dword [esp], eax
call fcn.00411860
mov eax, dword [esp + 0x58]
mov dword [esp + 0x30], eax
jmp 0x41b6da
mov eax, str.______exception_handler_______n
mov dword [esp], eax
call fcn.00412350
jmp 0x41bfa6
mov eax, dword [edx + 0xc]
mov edx, eax
jmp 0x41b650
mov eax, dword [ecx + 0x14]
mov ecx, eax
jmp 0x41b63b
mov eax, 1
jmp 0x41b62f
mov eax, dword [ecx + 0x2c]
cmp eax, 0
je 0x41c044
mov eax, dword [ecx + 0x34]
mov dword [esp + 0x80], eax
mov eax, dword [ecx + 0x30]
mov dword [esp + 0x84], eax
jmp 0x41b5d1
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x80], eax
mov eax, dword [ecx + 0x14]
mov dword [esp + 0x84], eax
jmp 0x41b5d1