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

Disassembly:
sub esp, 0x1b4
mov eax, dword [0x43c730]
xor eax, esp
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x1b8]
push ebp
mov ebp, dword [esp + 0x1c0]
push esi
xor esi, esi
mov dword [esp + 0x28], eax
cmp ebp, esi
je 0x408d66
lea ecx, [esp + 0x20]
push ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
call fcn.00403670
lea edx, [esp + 0x24]
add esp, 4
test edx, edx
je 0x408d66
mov eax, dword [esp + 0x24]
mov ecx, dword [ebp + 0x12b14]
push ebx
mov ebx, dword [esp + 0x24]
mov dword [ebp + 0x12c00], ebx
mov dword [ebp + 0x12c04], eax
mov dword [esp + 0x20], ecx
lea edx, [ebp + 0x12b78]
push edi
lea esp, [esp]
xor eax, eax
cmp dword [ebp + 0x6cc], eax
jle 0x408590
mov edi, dword [esp + esi*4 + 0x28]
lea ecx, [ebp + 0x6d4]
cmp edi, dword [ecx]
je 0x408569
inc eax
add ecx, 0x2a4
cmp eax, dword [ebp + 0x6cc]
jl 0x408554
jmp 0x408590
imul eax, eax, 0x2a4
lea eax, [eax + ebp + 0xc0]
lea ecx, [eax + 0x614]
mov dword [edx - 0x6c], ecx
mov ecx, dword [eax + 0x668]
mov dword [edx], ecx
mov eax, dword [eax + 0x660]
mov dword [edx + 4], eax
inc esi
add edx, 0x78
cmp esi, 2
jl 0x408540
xor edx, edx
mov dword [ebp + 0x12b08], edx
mov dword [ebp + 0x12b04], edx
add dword [ebp + 0x12b08], ebx
mov eax, dword [ebp + 0x12b08]
cmp ebx, edx
je 0x4085bd
inc dword [ebp + 0x12b04]
mov ecx, dword [esp + 0x2c]
add eax, ecx
mov dword [ebp + 0x12b08], eax
cmp ecx, edx
je 0x4085d3
inc dword [ebp + 0x12b04]
xor ecx, ecx
push 0xfe
push ecx
lea edx, [esp + 0xca]
push edx
mov word [esp + 0xcc], cx
call fcn.00422290
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
add esp, 0xc
mov esi, 0xa92
lea ebx, [esp + 0x28]
mov dword [esp + 0x20], 2
lea ebx, [ebx]
lea eax, [esi - 0xa91]
push eax
push 0xa0a
call fcn.004159c0
add esp, 4
push eax
lea ecx, [esp + 0xc8]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
mov edx, dword [ebp + 0xbc]
push edx
call fcn.00405260
add esp, 0x10
test eax, eax
jne 0x4086fe
mov eax, dword [ebx]
test al, al
je 0x40866d
push 0x9f3
call fcn.004159c0
add esp, 4
push eax
lea eax, [esp + 0xc4]
push eax
call edi
jmp 0x408716
test eax, 0xff0000
je 0x4086b5
push eax
call fcn.004023f0
add esp, 4
test eax, eax
je 0x40869b
push 0x9f6
call fcn.004159c0
add esp, 4
push eax
lea ecx, [esp + 0xc4]
push ecx
call edi
jmp 0x408716
push 0x9f4
call fcn.004159c0
add esp, 4
push eax
lea edx, [esp + 0xc4]
push edx
call edi
jmp 0x408716
test eax, 0xff00
je 0x408716
push eax
push ebp
call fcn.0040ac00
add esp, 8
test eax, eax
je 0x4086e4
push 0xa21
call fcn.004159c0
add esp, 4
push eax
lea eax, [esp + 0xc4]
push eax
call edi
jmp 0x408716
push 0x9f5
call fcn.004159c0
add esp, 4
push eax
lea ecx, [esp + 0xc4]
push ecx
call edi
jmp 0x408716
lea edx, [esp + 0xc0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
xor ecx, ecx
mov word [esp + eax*2 + 0xbc], cx
mov eax, dword [esp + 0x30]
lea edx, [esp + 0xc0]
push edx
push esi
push eax
call dword [sym.imp.USER32.dll_SetDlgItemTextW]
add ebx, 4
inc esi
sub dword [esp + 0x20], 1
jne 0x408610
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or eax, ecx
push ecx
push eax
mov dword [esp + 0x44], eax
call fcn.00401b70
mov esi, eax
add esp, 8
mov dword [esp + 0x20], esi
test esi, esi
je 0x408d64
mov edx, dword [ebp + 0x12a0c]
mov ebx, dword [esp + 0x28]
xor eax, eax
test edx, edx
jle 0x4087a4
lea ecx, [ebp + 0x12a14]
mov edi, dword [ecx]
cmp dword [edi], ebx
je 0x408785
inc eax
add ecx, 0x78
cmp eax, edx
jl 0x408775
jmp 0x4087a4
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea esi, [ebp + ecx*8 + 0x12a14]
lea edi, [ebp + 0x12b0c]
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x20]
cmp eax, edx
jl 0x4087d2
xor eax, eax
mov ecx, esi
lea esp, [esp]
mov edx, dword [ecx]
cmp dword [edx], ebx
je 0x408802
inc eax
add ecx, 0x78
cmp eax, 2
jl 0x4087b0
push 0x78
lea eax, [ebp + 0x12b0c]
push 0
push eax
call fcn.00422290
add esp, 0xc
mov edx, dword [ebp + 0x12a0c]
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
xor eax, eax
mov dword [ebp + 0x12b14], ebx
test edx, edx
jle 0x408843
lea ecx, [ebp + 0x12a14]
mov edi, dword [ecx]
cmp dword [edi], esi
je 0x408824
inc eax
add ecx, 0x78
cmp eax, edx
jl 0x4087f2
jmp 0x408843
cmp eax, 2
jge 0x4087bf
mov edx, dword [esp + 0x20]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea esi, [edx + ecx*8]
lea edi, [ebp + 0x12b0c]
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
jmp 0x4087d2
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea esi, [ebp + ecx*8 + 0x12a14]
lea edi, [ebp + 0x12b84]
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
mov esi, dword [esp + 0x2c]
cmp eax, edx
jl 0x408881
mov ecx, dword [esp + 0x20]
xor eax, eax
lea ecx, [ecx]
mov edx, dword [ecx]
cmp dword [edx], esi
je 0x408861
inc eax
add ecx, 0x78
cmp eax, 2
jl 0x408850
jmp 0x408881
cmp eax, 2
jge 0x408881
mov edx, dword [esp + 0x20]
mov ecx, eax
shl ecx, 4
sub ecx, eax
lea esi, [edx + ecx*8]
lea edi, [ebp + 0x12b84]
mov ecx, 0x1e
rep movsd dword es:[edi], dword [esi]
cmp ebx, 1
jne 0x4088b4
cmp word [ebp + 0x12b98], 0
lea eax, [ebp + 0x12b98]
jne 0x4088b4
mov edi, eax
lea esi, [ebp + 0x12b20]
mov ecx, 0x10
push eax
rep movsd dword es:[edi], dword [esi]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
inc word [ebp + eax*2 + 0x12b96]
push ebp
mov dword [ebp + 0x12b8c], ebx
call fcn.0040b180
lea eax, [esp + 0x2c]
push eax
push ebx
call fcn.004099b0
push ebp
call fcn.0040b1b0
xor eax, eax
xor ecx, ecx
xor edx, edx
add esp, 0x10
mov word [esp + 0x10], cx
mov dword [esp + 0x12], eax
mov word [esp + 0x16], ax
mov word [esp + 0x18], dx
mov word [esp + 0x1a], ax
mov word [esp + 0x1c], cx
mov word [esp + 0x1e], dx
test ebx, ebx
je 0x408d64
mov ecx, dword [ebp + 0x12b0c]
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov edx, dword [ecx + 0x54]
mov edi, dword [eax + 0x28]
mov ebx, dword [eax + 0x2c]
lea esi, [ebp + 0x12b0c]
push edx
call fcn.0040abe0
add esp, 4
test eax, eax
jne 0x408971
mov eax, dword [esi]
cmp dword [eax + 0x278], 0
jne 0x408971
mov ecx, dword [eax + 0x64]
xor edx, edx
cmp byte [eax], dl
mov esi, dword [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x274]
setne dl
push edx
mov edx, dword [eax + 0x270]
push ecx
push edx
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x28]
push edx
push ebx
push edi
push esi
call fcn.00409fa0
add esp, 0x28
jmp 0x40898d
push esi
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x1c]
push edx
call fcn.0040c420
mov esi, dword [esp + 0x34]
add esp, 0x10
cmp esi, 1
jne 0x408a39
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x3c]
push eax
push ecx
call fcn.00401b70
mov esi, eax
xor ebx, ebx
add esp, 8
cmp esi, ebx
je 0x408d64
mov edx, dword [ebp + 0x12b84]
mov eax, dword [edx + 0x54]
lea edi, [ebp + 0x12b84]
push eax
call fcn.0040abe0
add esp, 4
test eax, eax
jne 0x408a1c
mov eax, dword [edi]
cmp dword [eax + 0x278], ebx
jne 0x408a1c
mov edx, dword [eax + 0x64]
push edx
mov ecx, dword [esi]
xor edx, edx
cmp byte [eax], dl
setne dl
push edx
mov edx, dword [eax + 0x274]
mov eax, dword [eax + 0x270]
push edx
push eax
lea edx, [esp + 0x2e]
push edx
lea eax, [esp + 0x2e]
push eax
mov eax, dword [ecx + 0x2c]
mov ecx, dword [ecx + 0x28]
lea edx, [esp + 0x2c]
push edx
push eax
push ecx
push 1
call fcn.00409fa0
add esp, 0x28
jmp 0x408acb
push edi
lea edx, [esp + 0x22]
push edx
lea eax, [esp + 0x22]
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.0040c420
add esp, 0x10
jmp 0x408acb
cmp esi, 2
jne 0x408a9c
mov ax, word [esp + 0x10]
mov cx, word [esp + 0x12]
mov edx, 0x400
cmp dx, ax
jne 0x408a59
mov edx, 0x300
jmp 0x408a79
mov edx, 0x320
cmp dx, ax
jne 0x408a6a
mov edx, 0x258
jmp 0x408a79
mov edx, 0x280
cmp dx, ax
jne 0x408a7e
mov edx, 0x1e0
cmp dx, cx
je 0x408a81
shr ax, 1
mov dx, word [esp + 0x18]
mov word [esp + 0x14], ax
mov word [esp + 0x1a], dx
mov word [esp + 0x10], ax
mov word [esp + 0x16], cx
jmp 0x408ac9
cmp esi, 4
jne 0x408ac9
movzx eax, word [esp + 0x18]
mov cx, word [esp + 0x10]
mov dx, word [esp + 0x12]
mov word [esp + 0x1a], ax
movzx eax, word [esp + 0x1c]
mov word [esp + 0x14], cx
mov word [esp + 0x16], dx
mov word [esp + 0x1e], ax
xor ebx, ebx
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x40], 0x500
mov dword [esp + 0x3c], 0x400
call fcn.004178c0
mov di, word [esp + 0x18]
add esp, 8
xor eax, eax
jmp 0x408b00
movzx edx, word [esp + eax*4 + 0x10]
cmp dx, bx
je 0x408bd7
movzx esi, word [esp + eax*4 + 0x12]
cmp si, bx
je 0x408bd7
cmp dword [esp + 0x24], 2
jne 0x408b6c
mov ecx, 0x400
cmp cx, di
jne 0x408b45
mov ecx, 0x300
cmp cx, word [esp + 0x12]
je 0x408b6c
cmp eax, ebx
jne 0x408b78
mov dword [ebp + 0x12b60], ebx
jmp 0x408b93
mov ecx, 0x320
cmp cx, di
jne 0x408b56
mov ecx, 0x258
jmp 0x408b32
mov ecx, 0x280
cmp cx, di
jne 0x408b39
mov ecx, 0x1e0
cmp cx, word [esp + 0x12]
jne 0x408b39
cmp eax, ebx
jne 0x408b78
mov dword [ebp + 0x12b60], ebx
jmp 0x408b93
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov edi, dword [ebp + ecx*8 + 0x12af0]
lea ecx, [ebp + ecx*8 + 0xc0]
mov dword [ecx + 0x12aa0], edi
mov di, word [esp + 0x10]
mov ecx, eax
shl ecx, 4
movzx edx, dx
sub ecx, eax
add edx, dword [ebp + ecx*8 + 0x12b60]
lea ecx, [ebp + ecx*8 + 0xc0]
mov dword [ecx + 0x12aa8], edx
movzx edx, si
mov dword [ecx + 0x12aac], edx
movzx edx, word [esp + eax*2 + 0x18]
mov dword [ecx + 0x12ab0], edx
movzx edx, word [esp + eax*2 + 0x1c]
mov dword [ecx + 0x12ab4], edx
jmp 0x408c3d
cmp eax, ebx
jne 0x408be3
mov dword [ebp + 0x12b60], ebx
jmp 0x408bfe
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov edx, dword [ebp + ecx*8 + 0x12af0]
lea ecx, [ebp + ecx*8 + 0xc0]
mov dword [ecx + 0x12aa0], edx
movzx edx, word [esp + 0x38]
mov ecx, eax
shl ecx, 4
sub ecx, eax
add edx, dword [ebp + ecx*8 + 0x12b60]
lea ecx, [ebp + ecx*8 + 0xc0]
mov dword [ecx + 0x12aa8], edx
movzx edx, word [esp + 0x34]
mov dword [ecx + 0x12aac], edx
mov dword [ecx + 0x12ab0], 0x20
mov dword [ecx + 0x12ab4], 0x3c
inc eax
cmp eax, 2
mov dword [ecx + 0x12aa4], ebx
jl 0x408b00
xor eax, eax
push 0x3e
push eax
lea ecx, [esp + 0x4a]
push ecx
mov word [esp + 0x4c], ax
call fcn.00422290
push 0xa0c
call fcn.004159c0
xor edx, edx
push 0x3e
mov esi, eax
push edx
lea eax, [esp + 0x9a]
push eax
mov word [esp + 0x9c], dx
call fcn.00422290
add esp, 0x1c
test esi, esi
jne 0x408c9d
push 0xa27
call fcn.004159c0
add esp, 4
mov esi, eax
push esi
lea ecx, [esp + 0x84]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0xa0b
call fcn.004159c0
lea esi, [ebp + 0x12b64]
mov ebp, dword [sym.imp.USER32.dll_SetDlgItemTextW]
add esp, 4
mov ebx, eax
mov edi, 0xa96
mov dword [esp + 0x24], 2
mov edx, dword [esi + 8]
sub edx, dword [esi]
mov eax, dword [esi + 4]
sub eax, dword [esi - 4]
push edx
push eax
lea ecx, [esp + 0x48]
push ebx
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
mov ecx, dword [esp + 0x40]
add esp, 0x10
lea edx, [esp + 0x40]
push edx
lea eax, [edi - 2]
push eax
push ecx
call ebp
mov edx, dword [esi + 0xc]
push edx
lea eax, [esp + 0x84]
push eax
lea ecx, [esp + 0x48]
push ecx
call dword [sym.imp.USER32.dll_wsprintfW]
mov eax, dword [esp + 0x3c]
add esp, 0xc
lea edx, [esp + 0x40]
push edx
push edi
push eax
call ebp
mov eax, dword [esi - 0x58]
test dword [eax], 0xff00
je 0x408d55
mov edx, dword [eax + 0x54]
push 0x3f
lea ecx, [esp + 0x44]
push ecx
push edx
call fcn.0040b1e0
mov edx, dword [esp + 0x3c]
add esp, 0xc
lea eax, [esp + 0x40]
push eax
lea ecx, [edi + 0x7f]
push ecx
push edx
call ebp
inc edi
add esi, 0x78
sub dword [esp + 0x24], 1
jne 0x408cd4
pop edi
pop ebx
mov ecx, dword [esp + 0x1b8]
pop esi
pop ebp
xor ecx, esp
call fcn.00422272
add esp, 0x1b4
ret