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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x354
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov ebx, ecx
push esi
lea eax, [ebx + 0x56]
mov ecx, edi
call fcn.0047868f
mov eax, 0x110
cmp edi, eax
ja 0x46da2d
je 0x46da21
cmp edi, 0x16
ja 0x46d8c9
je 0x46d8ab
mov eax, edi
dec eax
dec eax
je 0x46d86f
sub eax, 3
je 0x46d803
sub eax, 0xa
je 0x46d431
dec eax
jne 0x46d445
cmp byte [ebx + 0x68], al
jne 0x46db9f
mov esi, ebx
call fcn.0046cd8e
jmp 0x46db9f
cmp byte [ebx + 0x1970], 0
jne 0x46d458
push 5
push dword [ebx + 0x63]
call dword [0x522758]
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp + 0xc]
push edi
call fcn.00475ac6
jmp 0x46dba2
xor esi, esi
cmp byte [ebx + 0x1971], 0
je 0x46d4c8
push esi
push dword [ebx + 0x63]
call dword [0x522758]
lea eax, [esp + 0x9c]
push eax
push dword [ebx + 0x63]
call dword [0x5225ac]
push dword [ebx + 0x63]
xor eax, eax
lea edi, [esp + 0x90]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov eax, dword [esp + 0xac]
sub eax, dword [esp + 0xa4]
mov dword [esp + 0x9c], eax
mov dword [ebx + 0x2d], eax
call dword [0x522730]
mov ecx, dword [ebx + 0x19ce]
cmp ecx, esi
je 0x46d4c1
lea edx, [esp + 0x8c]
push edx
push eax
call ecx
mov byte [ebx + 0x1971], 0
lea eax, [esp + 0x118]
push eax
push dword [ebx + 4]
call dword [0x522710]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x18]
push eax
push dword [ebx + 4]
call dword [0x522724]
lea eax, [esp + 0x38]
push eax
push dword [ebx + 0x63]
call dword [0x5225ac]
mov eax, dword [esp + 0x3c]
sub eax, dword [esp + 0x44]
push 4
add eax, dword [esp + 0x28]
mov dword [esp + 0x20], eax
call dword [0x52210c]
push eax
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x18]
call dword [0x522780]
push dword [esp + 0x10]
call dword [0x5220d4]
mov dword [esp + 0xc], eax
push 0xa
pop ecx
xor eax, eax
lea edi, [esp + 0xb0]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x18]
push esi
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x20]
sub eax, dword [esp + 0x28]
push esi
mov dword [esp + 0xbc], eax
lea eax, [esp + 0x1c]
push eax
push esi
lea eax, [esp + 0xbc]
push eax
push dword [esp + 0x20]
mov dword [esp + 0xc4], 0x28
mov word [esp + 0xd0], 1
mov word [esp + 0xd2], 0x20
mov dword [esp + 0xd4], esi
mov dword [esp + 0x2c], esi
call dword [0x522174]
mov edi, dword [0x522104]
push eax
push dword [esp + 0x10]
mov dword [esp + 0x38], eax
call edi
push 0x3c
mov dword [esp + 0x30], eax
lea eax, [esp + 0xe0]
push esi
push eax
call fcn.0050d720
mov eax, dword [esp + 0x2c]
sub eax, dword [esp + 0x24]
add esp, 0xc
push dword [ebx + 4]
mov dword [esp + 0xdc], 0x40
mov dword [esp + 0xe0], 0x2800
mov dword [esp + 0x110], 0xf
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], esi
mov dword [esp + 0x58], eax
call dword [0x522588]
mov ecx, dword [esp + 0x24]
test eax, eax
setne al
neg al
sbb eax, eax
and eax, 4
sub ecx, eax
sub ecx, dword [esp + 0x1c]
lea esi, [ebx + 0x1972]
mov dword [esp + 0x58], ecx
call fcn.00423ccc
push eax
push dword [esp + 0x10]
mov dword [esp + 0x3c], eax
call edi
mov dword [esp + 0x28], eax
lea eax, [esp + 0x158]
push eax
xor esi, esi
push esi
push 0x40d
push dword [ebx + 0x63]
mov word [esp + 0x168], si
call dword [0x5227c4]
mov eax, dword [ebx + 0x19b6]
cmp eax, esi
je 0x46d68e
lea ecx, [esp + 0xd8]
push ecx
lea ecx, [esp + 0x50]
push ecx
push 0x824
push 0xffffffffffffffff
lea ecx, [esp + 0x168]
push ecx
push esi
push esi
push dword [esp + 0x28]
push dword [ebx + 0x197e]
call eax
cmp dword [ebx + 0x5e], esi
jne 0x46d6cc
push esi
push dword [0x58dd0c]
mov eax, 0x80000000
push esi
push dword [ebx + 4]
push eax
push eax
push eax
push eax
push 0x80000003
push esi
push str.tooltips_class32
push 8
call dword [0x522658]
push 0x13
push esi
push esi
push esi
push esi
push 0xffffffffffffffff
push eax
mov dword [ebx + 0x5e], eax
call dword [0x5225c8]
lea eax, [esp + 0x158]
push eax
push 0x1040000
push 0x413
push dword [ebx + 0x63]
call dword [0x5227c4]
cmp word [esp + 0x158], si
je 0x46d76b
mov eax, dword [ebx + 4]
mov dword [esp + 0x64], eax
mov eax, dword [0x58dd0c]
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x158]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x74], eax
lea eax, [esp + 0x5c]
push eax
push esi
push 0x433
push dword [ebx + 0x5e]
mov dword [esp + 0x6c], 0x30
mov dword [esp + 0x70], 0x10
mov dword [esp + 0x78], esi
call dword [0x5227c4]
lea eax, [esp + 0x5c]
push eax
push esi
push 0x432
push dword [ebx + 0x5e]
call dword [0x5227c4]
push dword [ebx + 4]
call dword [0x522588]
mov ecx, dword [esp + 0x24]
push 0xcc0020
push esi
test eax, eax
push esi
push dword [esp + 0x18]
setne al
sub ecx, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x34]
sub ecx, dword [esp + 0x2c]
neg al
push ecx
sbb eax, eax
add eax, 4
add eax, dword [esp + 0x34]
push eax
push dword [esp + 0x34]
push dword [esp + 0x30]
call dword [0x522130]
lea eax, [esp + 0x118]
push eax
push dword [ebx + 4]
call dword [0x5227c8]
push dword [esp + 0x28]
push dword [esp + 0x10]
call edi
push dword [esp + 0x34]
call dword [0x5220e8]
push dword [esp + 0x2c]
push dword [esp + 0x10]
call edi
push dword [esp + 0xc]
call dword [0x5220ec]
push dword [esp + 0x30]
call dword [0x5220e8]
push esi
push esi
push dword [ebx + 4]
call dword [0x522594]
jmp 0x46db9f
xor esi, esi
cmp dword [ebp + 0xc], esi
jne 0x46d830
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x3c], 0x14
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
call dword [0x5226cc]
cmp dword [ebp + 0xc], 1
je 0x46d445
cmp byte [ebx + 0x2c], 0
jne 0x46d445
mov edx, dword [ebp + 0x10]
shr edx, 0x10
push edx
movzx edx, word [ebp + 0x10]
lea ecx, [ebx + 0x41]
mov eax, dword [ecx]
push edx
call dword [eax]
push 0x2127
push esi
push esi
push esi
push esi
push esi
push dword [ebx + 4]
call dword [0x5225c8]
jmp 0x46d445
call fcn.004430d1
mov eax, dword [ebx]
push str.MainWindow
mov ecx, ebx
mov dword [0x58da74], 3
call dword [eax + 0x28]
lea eax, [ebx + 0x68]
push eax
call fcn.0043df78
lea esi, [ebx + 0x1972]
call fcn.00471caf
push 0
call dword [0x5226d0]
jmp 0x46d445
test esi, esi
je 0x46db4e
mov byte [ebx + 0x68], 1
mov byte [ebx + 0x6a], 1
push dword [ebx + 4]
call dword [0x5227b0]
jmp 0x46db4e
cmp edi, 0x1a
je 0x46d9c6
cmp edi, 0x24
je 0x46d986
cmp edi, 0x4a
jne 0x46d445
mov eax, dword [ebp + 0x10]
cmp dword [eax + 4], 0x10404
jne 0x46db4e
mov esi, dword [eax + 8]
mov edi, dword [esi]
test edi, edi
mov dword [esp + 0x28], edi
je 0x46db4e
xor ecx, ecx
push 4
pop edx
mov eax, edi
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.005084c0
and dword [esp + 0x10], 0
test edi, edi
pop ecx
mov dword [esp + 0x14], eax
jle 0x46d96e
add esi, 4
mov dword [esp + 0x10], esi
mov edi, 0x208
push edi
call fcn.005084c0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov dword [ecx + edx*4], eax
mov edx, dword [esp + 0x14]
mov esi, eax
mov dword [esp], 0x104
call fcn.00446416
inc dword [esp + 0xc]
mov eax, dword [esp + 0xc]
add dword [esp + 0x10], edi
cmp eax, dword [esp + 0x28]
jl 0x46d935
mov edi, dword [esp + 0x28]
push dword [esp + 0x14]
push edi
push 0x406
push dword [ebx + 4]
call dword [0x52276c]
jmp 0x46db9f
lea edx, [esp + 0x2c]
push edx
lea ecx, [ebx + 0x41]
mov eax, dword [ecx]
lea edx, [esp + 0x34]
push edx
call dword [eax + 4]
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x30]
mov edx, dword [eax + 0x20]
cmp ecx, edx
mov esi, dword [esp + 0x2c]
mov dword [eax + 0x18], ecx
mov dword [eax + 0x1c], esi
jg 0x46d9b2
mov ecx, edx
mov dword [eax + 0x20], ecx
mov ecx, dword [eax + 0x24]
cmp esi, ecx
jle 0x46d9be
mov ecx, esi
mov dword [eax + 0x24], ecx
jmp 0x46d445
call fcn.0041f86c
test al, al
je 0x46d445
call fcn.0043fb39
test al, al
lea esi, [ebx + 0x19d2]
je 0x46d9fb
mov eax, dword [esi]
test eax, eax
je 0x46d445
push eax
call dword [0x522624]
and dword [esi], 0
jmp 0x46d445
cmp dword [esi], 0
jne 0x46d445
call dword [0x5223a4]
push eax
push 0
push 0x46dc9c
push 3
call dword [0x5226e0]
mov dword [esi], eax
jmp 0x46d445
mov eax, ebx
call fcn.0046d08b
jmp 0x46d445
mov ecx, edi
mov eax, 0x111
sub ecx, eax
je 0x46db52
dec ecx
dec ecx
je 0x46db33
sub ecx, 0x207
je 0x46db0c
sub ecx, 4
je 0x46db0c
sub ecx, 0xe8
je 0x46da9d
sub ecx, 0x60
je 0x46da81
sub ecx, 0x7c08
jne 0x46d445
lea edi, [ebx + 0x41]
mov esi, ebx
call fcn.00403927
jmp 0x46db9f
cmp dword [ebp + 0x10], 0
jne 0x46da8f
mov byte [ebx + 0x68], 1
mov byte [ebx + 0x6a], 1
push dword [ebx + 4]
call dword [0x5227b0]
jmp 0x46db9f
mov edi, dword [ebp + 0x10]
xor esi, esi
cmp edi, esi
je 0x46db9f
cmp dword [ebp + 0xc], 1
mov byte [ebx + 0x51], 1
jne 0x46dadf
push dword [ebx + 4]
call dword [0x522588]
test eax, eax
setne al
neg al
sbb eax, eax
and eax, 0xfffffffa
add eax, 9
push eax
push dword [ebx + 4]
call dword [0x522758]
push dword [ebx + 4]
call dword [0x5227d4]
mov ecx, dword [ebp + 0xc]
push edi
add ebx, 0x4d
push ebx
call fcn.0043d177
cmp dword [ebp + 0xc], esi
jle 0x46db00
push dword [edi + esi*4]
call fcn.0050853a
inc esi
cmp esi, dword [ebp + 0xc]
pop ecx
jl 0x46daf1
push edi
call fcn.0050853a
pop ecx
jmp 0x46db9f
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 0x34]
test al, al
je 0x46d445
mov edi, ebx
call fcn.0046d0f4
push dword [ebx + 4]
call dword [0x5225dc]
mov edi, dword [ebp + 8]
jmp 0x46d445
cmp esi, 0x3e5
jne 0x46d445
mov esi, ebx
call fcn.0046d359
test al, al
je 0x46d445
xor eax, eax
jmp 0x46dba2
push dword [ebp + 0x10]
push esi
push eax
push ebx
lea eax, [ebx + 0x28]
call fcn.00475de5
test eax, eax
jne 0x46dba2
movzx eax, word [ebp + 0xc]
mov esi, dword [0x58da74]
mov dword [0x58da74], eax
mov eax, dword [ebp + 0xc]
shr eax, 0x10
push eax
push dword [ebp + 0xc]
mov eax, ebx
call fcn.0046d15a
test esi, esi
jne 0x46db92
mov eax, dword [0x58da74]
mov dword [0x58dc80], eax
mov eax, dword [ebx]
mov ecx, ebx
mov dword [0x58da74], esi
call dword [eax + 0x18]
xor eax, eax
inc eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc