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

Disassembly:
sub esp, 0x58
push ebx
push esi
mov ebx, dword [esp + 0x64]
push edi
push ebp
push ebx
call fcn.00415b10
add esp, 4
mov ebp, eax
mov eax, dword [esp + 0x70]
cmp eax, 0x10
ja 0x4165ea
je 0x4167ec
cmp eax, 1
je 0x416653
cmp eax, 3
je 0x416701
cmp eax, 5
je 0x41676d
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
cmp eax, 0x2b
ja 0x416608
je 0x416865
cmp eax, 0x24
je 0x41680c
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
cmp eax, 0x82
ja 0x416628
je 0x4168e6
cmp eax, 0x2c
je 0x416889
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
cmp eax, 0x110
je 0x41691b
cmp eax, 0x111
je 0x41692e
cmp eax, 0x200
je 0x416dc6
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
mov ax, word [0x4edf70]
xor esi, esi
mov word [esp + 0x40], ax
lea eax, [esp + 0x40]
mov dword [esp + 0x42], ebx
push eax
mov dword [esp + 0x4a], esi
push 0x35
call fcn.00415370
add esp, 8
test eax, eax
je 0x41669c
cmp dword [esp + 0x5e], esi
jne 0x416698
mov ecx, dword [esp + 0x7c]
mov eax, 1
pop ebp
pop edi
pop esi
mov dword [ecx], 0xffffffff
pop ebx
add esp, 0x58
ret
mov esi, dword [esp + 0x5e]
lea eax, [esp + 0x40]
push eax
push 0x2f
call fcn.00415370
add esp, 8
mov edi, eax
push 0x42
lea eax, [edi + 0x22]
push eax
call fcn.00479a30
add esp, 8
mov ebp, eax
test ebp, ebp
jne 0x4166d8
mov ecx, dword [esp + 0x7c]
mov eax, 1
pop ebp
pop edi
pop esi
mov dword [ecx], 0xffffffff
pop ebx
add esp, 0x58
ret
push ebp
call dword [0x4f6aac]
mov cx, word [0x4edf70]
push eax
mov word [eax + 8], cx
push 0x1e
push ebx
mov dword [eax], ebp
mov dword [eax + 4], edi
mov dword [eax + 0x1e], esi
call dword [0x4f6c90]
jmp 0x416e13
push ebx
call fcn.004c6450
mov word [esp + 0x18], ax
add esp, 4
test ax, ax
je 0x416e13
cmp dword [ebp + 0x1a], 0
jne 0x416e13
lea eax, [esp + 0x40]
push eax
push ebx
call fcn.00417020
mov dword [ebp + 0x1a], 1
mov dword [esp + 0x1e], ebx
add esp, 8
mov eax, dword [ebp + 0xa]
mov dword [esp + 0x1a], eax
lea eax, [esp + 0x14]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x1e], ecx
push eax
mov dword [esp + 0x26], edx
push 0x19
call fcn.00415370
mov dword [ebp + 0x1a], 0
add esp, 8
jmp 0x416e13
push ebx
call fcn.004c6450
mov word [esp + 0x18], ax
add esp, 4
test ax, ax
je 0x416e13
movsx eax, word [esp + 0x78]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x78]
shr eax, 0x10
cmp dword [ebp + 0x1a], 0
movsx ecx, ax
jne 0x416e13
mov dword [ebp + 0x1a], 1
mov dword [esp + 0x16], ebx
mov eax, dword [ebp + 0xa]
mov dword [esp + 0x1a], eax
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x40]
sub eax, 2
mov dword [esp + 0x1e], edx
cmp eax, 1
sbb eax, eax
mov dword [esp + 0x22], ecx
neg eax
lea ecx, [esp + 0x14]
mov dword [esp + 0x36], eax
push ecx
push 0x17
call fcn.00415370
mov dword [ebp + 0x1a], 0
add esp, 8
jmp 0x416e13
mov dword [esp + 0x16], ebx
mov eax, dword [ebp + 0xa]
mov dword [esp + 0x1a], eax
mov cx, word [ebp + 8]
mov word [esp + 0x14], cx
lea ecx, [esp + 0x14]
push ecx
push 0x20
jmp 0x416e0b
push ebx
call fcn.004c6450
mov word [esp + 0x18], ax
add esp, 4
test ax, ax
je 0x416e13
cmp dword [ebp + 0x1a], 0
jne 0x416e13
mov esi, dword [esp + 0x78]
lea edx, [esp + 0x14]
mov dword [esp + 0x16], ebx
push edx
mov eax, dword [ebp + 0xa]
lea ecx, [esi + 8]
push 0x1e
add esi, 0x18
mov dword [esp + 0x22], eax
mov dword [esp + 0x3a], ecx
call fcn.00415370
lea ecx, [esp + 0x1c]
mov dword [esp + 0x3a], esi
add esp, 8
push ecx
push 0x18
jmp 0x416e0b
mov eax, dword [esp + 0x78]
push eax
push ebx
call fcn.00416320
mov ecx, dword [esp + 0x84]
add esp, 8
pop ebp
mov dword [ecx], eax
mov eax, 1
pop edi
pop esi
pop ebx
add esp, 0x58
ret
mov esi, dword [esp + 0x78]
cmp dword [esi], 2
jne 0x416e13
mov edx, dword [esp + 0x74]
mov dword [esp + 0x16], ebx
mov ax, word [ebp + 8]
mov word [esp + 0x14], ax
lea eax, [esp + 0x14]
mov ecx, dword [ebp + 0xa]
push eax
mov dword [esp + 0x1e], ecx
push 0xa
mov dword [esp + 0x36], 8
mov dword [esp + 0x2e], edx
call fcn.00415370
mov ecx, dword [esp + 0x84]
add esp, 8
mov dword [esi + 0x10], eax
mov eax, 1
pop ebp
mov dword [ecx], 1
pop edi
pop esi
pop ebx
add esp, 0x58
ret
test ebp, ebp
je 0x416911
mov eax, dword [ebp + 0x1e]
test eax, eax
je 0x4168fa
push eax
call fcn.00479ef0
add esp, 4
mov eax, dword [ebp]
push eax
call fcn.00479b40
add esp, 4
push 0
push 0x1e
push ebx
call dword [0x4f6c90]
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
push ebx
call fcn.00416500
add esp, 4
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x58
ret
mov eax, dword [esp + 0x74]
mov esi, dword [esp + 0x78]
mov word [esp + 0x12], ax
mov dword [esp + 0x16], ebx
shr eax, 0x10
mov cx, word [ebp + 8]
movzx edi, ax
mov word [esp + 0x14], cx
mov eax, dword [ebp + 0xa]
mov dword [esp + 0x1a], eax
mov eax, dword [esp + 0x12]
and eax, 0xffff
cmp edi, 0x100
mov dword [esp + 0x3c], eax
mov dword [esp + 0x26], eax
je 0x416978
cmp edi, 4
je 0x416978
cmp edi, 3
jne 0x41697b
mov dword [ebp + 0x16], esi
test esi, esi
je 0x416d7c
lea eax, [esp + 0x40]
push 0xa
push eax
mov ebp, dword [0x4f6c0c]
push esi
call ebp
test eax, eax
je 0x416d7c
lea eax, [esp + 0x40]
push str.button
push eax
mov ebx, dword [0x4f6a9c]
call ebx
test eax, eax
jne 0x416a01
cmp dword [esp + 0x26], 0x63
jne 0x4169c0
mov dword [esp + 0x26], 1
test edi, edi
jne 0x416e13
mov dword [esp + 0x2e], 2
push 0xfffffffffffffff0
push esi
call dword [0x4f6c98]
test al, al
je 0x4169e5
cmp al, 1
jne 0x416dbd
lea eax, [esp + 0x14]
push eax
push 0x1b
call fcn.00415370
add esp, 8
test eax, eax
jne 0x416dbd
jmp 0x416e13
lea eax, [esp + 0x40]
push str.edit
push eax
call ebx
test eax, eax
je 0x416d1c
lea eax, [esp + 0x40]
push str.calcedit
push eax
call ebx
test eax, eax
je 0x416d1c
lea eax, [esp + 0x40]
push str.sedit
push eax
call ebx
test eax, eax
je 0x416d1c
lea eax, [esp + 0x40]
push str.combobox
push eax
call ebx
test eax, eax
jne 0x416a75
cmp edi, 1
jne 0x416a5f
mov dword [esp + 0x2e], 4
jmp 0x416dbd
cmp edi, 2
jne 0x416e13
mov dword [esp + 0x2e], 3
jmp 0x416dbd
lea eax, [esp + 0x40]
push str.listbox
push eax
call ebx
test eax, eax
jne 0x416ad1
cmp edi, 1
jne 0x416a97
mov dword [esp + 0x2e], 4
jmp 0x416dbd
cmp edi, 2
jne 0x416aa9
mov dword [esp + 0x2e], 3
jmp 0x416dbd
cmp edi, 4
jne 0x416abb
mov dword [esp + 0x2e], 5
jmp 0x416dbd
cmp edi, 5
jne 0x416e13
mov dword [esp + 0x2e], 6
jmp 0x416dbd
lea eax, [esp + 0x40]
push 0x4e9244
push eax
call ebx
test eax, eax
je 0x416ce2
lea eax, [esp + 0x40]
push str.o_cusbit
push eax
call ebx
test eax, eax
je 0x416ce2
lea eax, [esp + 0x40]
push 0x4e9258
push eax
call ebx
test eax, eax
jne 0x416b60
push esi
call dword [0x4f6cc0]
mov dword [esp + 0x26], eax
cmp edi, 1
jne 0x416b26
mov dword [esp + 0x2e], 2
jmp 0x416dbd
cmp edi, 2
jne 0x416b38
mov dword [esp + 0x2e], 0xb
jmp 0x416dbd
cmp edi, 3
jne 0x416b4a
mov dword [esp + 0x2e], 0xc
jmp 0x416dbd
cmp edi, 4
jne 0x416e13
mov dword [esp + 0x2e], 0xa
jmp 0x416dbd
lea eax, [esp + 0x40]
push str.BmpButt
push eax
call ebx
test eax, eax
jne 0x416b90
push esi
call dword [0x4f6cc0]
mov dword [esp + 0x26], eax
test edi, edi
jne 0x416e13
mov dword [esp + 0x2e], 2
jmp 0x416dbd
lea eax, [esp + 0x40]
push str.custtab
push eax
call ebx
test eax, eax
jne 0x416c15
cmp edi, 1
jne 0x416e13
push 0
push 0
push 0x408
push esi
call dword [0x4f6cb8]
cmp eax, dword [esp + 0x3c]
mov edi, eax
je 0x416e13
push esi
call dword [0x4f6cc0]
mov dword [esp + 0x26], eax
test edi, edi
mov dword [esp + 0x2e], 2
je 0x416bf3
lea eax, [esp + 0x14]
push eax
push 0x1b
call fcn.00415370
add esp, 8
test eax, eax
je 0x416e13
mov ecx, dword [esp + 0x3c]
lea edx, [esp + 0x14]
and ecx, 0xffff
push edx
movzx eax, di
shl eax, 0x10
push 0x39
or eax, ecx
mov dword [esp + 0x3e], eax
jmp 0x416e0b
lea eax, [esp + 0x40]
push str.cussel
push eax
call ebx
test eax, eax
jne 0x416dbd
push 0
cmp edi, 0x405
jne 0x416c59
push 4
push esi
call dword [0x4f6cbc]
movzx eax, ax
push eax
call fcn.00471900
mov dword [esp + 0x36], 0xd
mov dword [esp + 0x3e], eax
add esp, 8
jmp 0x416dbd
push esi
mov ebx, dword [0x4f6cbc]
call ebx
movzx eax, ax
mov dword [esp + 0x1e], eax
push 2
push esi
call ebx
movzx eax, ax
mov dword [esp + 0x22], eax
cmp edi, 0x401
jne 0x416c8a
mov dword [esp + 0x2e], 0xb
jmp 0x416dbd
cmp edi, 0x402
jne 0x416c9f
mov dword [esp + 0x2e], 0xa
jmp 0x416dbd
cmp edi, 0x403
jne 0x416cb4
mov dword [esp + 0x2e], 0xc
jmp 0x416dbd
cmp edi, 0x407
jne 0x416cc9
mov dword [esp + 0x2e], 5
jmp 0x416dbd
cmp edi, 0x408
jne 0x416e13
mov dword [esp + 0x2e], 6
jmp 0x416dbd
cmp edi, 1
jne 0x416cf4
mov dword [esp + 0x2e], 4
jmp 0x416dbd
cmp edi, 3
jne 0x416d06
mov dword [esp + 0x2e], 3
jmp 0x416dbd
cmp edi, 2
jne 0x416e13
mov dword [esp + 0x2e], 2
jmp 0x416dbd
cmp edi, 0x300
jne 0x416d31
mov dword [esp + 0x2e], 4
jmp 0x416dbd
cmp edi, 0x100
jne 0x416d43
mov dword [esp + 0x2e], 5
jmp 0x416dbd
cmp edi, 0x200
jne 0x416d55
mov dword [esp + 0x2e], 6
jmp 0x416dbd
cmp edi, 0x61
jne 0x416e13
lea eax, [esp + 0x40]
push str.sedit
push eax
call ebx
test eax, eax
jne 0x416e13
mov dword [esp + 0x2e], 2
jmp 0x416dbd
cmp word [esp + 0x12], 1
jne 0x416dbd
test esi, esi
jne 0x416dbd
test edi, edi
jne 0x416dbd
push ebx
call fcn.00415f80
add esp, 4
test eax, eax
je 0x416da2
cmp eax, 1
je 0x416da2
mov dword [esp + 0x26], eax
mov dword [esp + 0x2e], 2
lea eax, [esp + 0x14]
push eax
push 0x1b
call fcn.00415370
add esp, 8
test eax, eax
je 0x416e13
lea eax, [esp + 0x14]
push eax
push 0xa
jmp 0x416e0b
movsx eax, word [esp + 0x78]
mov dword [esp + 0x40], eax
mov dword [esp + 0x16], ebx
mov eax, dword [esp + 0x78]
mov edx, dword [ebp + 0xa]
shr eax, 0x10
mov dword [esp + 0x1a], edx
movsx ecx, ax
mov ax, word [ebp + 8]
mov word [esp + 0x14], ax
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x40]
and eax, 0x13
mov dword [esp + 0x1e], ebx
mov dword [esp + 0x36], eax
mov dword [esp + 0x22], ecx
lea ecx, [esp + 0x14]
push ecx
push 0x40
call fcn.00415370
add esp, 8
mov ecx, dword [esp + 0x7c]
mov eax, 1
pop ebp
pop edi
pop esi
mov dword [ecx], 0
pop ebx
add esp, 0x58
ret