Function at 0x459920
Capabilities:
Extract resource via kernel32 functions
Get graphical window text

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x26c
cmp eax, 0x402
push ebx
push ebp
push esi
push edi
ja 0x45a0c0
je 0x45a086
sub eax, 0x110
je 0x459e0c
dec eax
jne 0x45a0c7
mov edi, dword [esp + 0x288]
mov eax, edi
and eax, 0xffff
cmp eax, 2
jg 0x459cb4
je 0x459c7b
dec eax
jne 0x459d97
mov ebp, dword [esp + 0x280]
mov ecx, dword [0x652890]
xor eax, eax
cmp ebp, ecx
mov ecx, dword [0x656c34]
sete al
push eax
push ecx
call fcn.00456e40
add esp, 8
test ax, ax
je 0x4599f9
mov eax, dword [0x655ff8]
lea edx, [esp + 0x218]
push 0x64
push edx
push 0x19f6
push eax
call dword [sym.imp.USER32.dll_LoadStringA]
mov edx, dword [0x656c34]
push 1
lea ecx, [esp + 0x21c]
push 0x4e7030
mov eax, dword [edx + 0x14]
push ecx
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 1
je 0x4599f9
mov ecx, dword [0x656c34]
push ecx
call fcn.00420cc0
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x26c
ret
mov edx, dword [0x656c34]
mov eax, dword [esp + 0x290]
mov dword [0x656f1c], ebp
mov dword [0x656f20], edx
mov dword [eax], 0x656f18
push eax
mov eax, dword [esp + 0x290]
mov dword [0x656f24], 1
push eax
push edi
push 0x111
push ebp
call fcn.004cc9e0
mov ecx, dword [0x656f24]
xor edi, edi
cmp ecx, edi
mov dword [esp + 0x14], eax
jne 0x459a4d
mov dword [esp + 0x14], edi
jmp 0x459a68
cmp eax, edi
je 0x459a68
cmp word [0x656f1a], di
jne 0x459a63
test byte [0x656f48], 3
je 0x459a68
mov edi, 1
mov eax, dword [0x656f48]
and eax, 0xffff
mov esi, eax
and eax, 1
mov ebx, eax
mov eax, dword [esp + 0x14]
and esi, 4
test eax, eax
je 0x459aa0
test ecx, ecx
je 0x459aa0
push ebp
call dword [sym.imp.USER32.dll_GetParent]
cmp eax, dword [0x655ab0]
je 0x459aa0
push 1
push ebp
call dword [sym.imp.USER32.dll_EndDialog]
mov eax, dword [0x656c34]
push 0
push 0
push 1
mov cx, word [eax + 0x2ba]
push ecx
push eax
call fcn.0042f060
add esp, 0x14
test edi, edi
je 0x459c2d
mov eax, dword [0x656f24]
test eax, eax
je 0x459b48
mov eax, dword [0x656c34]
lea edx, [esp + 0x10]
push edx
push 0
push eax
call fcn.00426100
mov ecx, dword [0x656c34]
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp dword [ecx + 0x130], eax
jne 0x459b33
push eax
call fcn.00455b10
add esp, 4
test eax, eax
je 0x459b22
mov edx, dword [esp + 0x10]
mov ecx, dword [0x656c34]
push edx
call fcn.00431d70
mov eax, dword [0x656c34]
mov dword [eax + 0x130], 0
jmp 0x459b33
mov ecx, dword [0x656c34]
xor esi, esi
push ecx
call fcn.00420cc0
add esp, 4
mov edx, dword [esp + 0x10]
mov eax, dword [0x656c34]
push edx
push 0
push eax
call fcn.00426140
add esp, 0xc
test esi, esi
je 0x459bec
cmp ebp, dword [0x652890]
je 0x459b67
mov ecx, dword [0x656c34]
push ecx
call fcn.00455bc0
add esp, 4
mov eax, dword [0x656c34]
cmp word [eax + 0x26c], 3
jne 0x459bd4
push eax
call fcn.00420cc0
mov eax, dword [0x656c34]
lea edx, [esp + 0x14]
push edx
push 0
push eax
call fcn.00426100
mov ecx, dword [esp + 0x20]
add esp, 0x10
push ecx
mov ecx, dword [0x656c34]
call fcn.00432360
mov edx, dword [0x656c34]
push edx
call fcn.004322a0
mov ecx, dword [0x656c34]
mov word [ecx + 0x2a6], ax
mov edx, dword [esp + 0x14]
mov eax, dword [0x656c34]
push edx
push 0
push eax
call fcn.00426140
mov eax, dword [0x656c34]
add esp, 0x10
push eax
call fcn.0042dac0
mov ecx, dword [0x656c34]
add esp, 4
mov dword [ecx + 0x60], 1
jmp 0x459bfd
test ebx, ebx
je 0x459c08
mov edx, dword [0x656c34]
mov dword [edx + 0x60], 1
mov ecx, dword [0x656c34]
call fcn.00432120
mov eax, dword [0x656c34]
cmp word [eax + 0x36], 0
je 0x459c32
cmp word [eax + 0x26c], 3
je 0x459c32
push 0
push 0
push 0
push eax
call fcn.0042b6b0
add esp, 0x10
mov eax, dword [0x656c34]
mov word [0x656f1a], 0
mov cx, word [eax + 0x2ba]
push 0
push 1
push 2
push ecx
push eax
call fcn.0042f060
mov eax, dword [0x656f24]
add esp, 0x14
test eax, eax
je 0x45a0c7
mov eax, dword [esp + 0x14]
test eax, eax
je 0x45a0c7
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x26c
ret
mov edx, dword [esp + 0x290]
mov eax, dword [edx + 0xc]
test eax, eax
jne 0x45a4f2
mov eax, dword [esp + 0x280]
push 0
push 0
push 0x110
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x26c
ret
cmp eax, 0x1618
jl 0x459d97
cmp eax, 0x1619
jg 0x459d97
mov ecx, edi
mov edx, dword [0x655ff8]
sub ecx, 0x1619
push 5
neg ecx
sbb ecx, ecx
and ecx, 0xffffffef
add ecx, 0x14d9
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindResourceA]
push eax
mov eax, dword [0x655ff8]
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov ecx, dword [esp + 0x290]
cmp edi, 0x1619
mov ebx, eax
push 0x656f18
mov esi, dword [ecx + 4]
mov bp, word [esi + 0x36]
mov word [esi + 0x36], 0
jne 0x459d43
mov edx, dword [0x655afc]
push 0x456fb0
push 0x458e60
push 0x4592e0
push 5
push 0x656fc0
push edx
push 0x1619
jmp 0x459d64
mov eax, dword [0x655afc]
push 0x457320
push 0x458e60
push 0x4592e0
push 5
push 0x656c38
push eax
push 0x1618
push ebx
push esi
call fcn.00422020
push ebx
mov word [esi + 0x36], bp
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov ecx, dword [esp + 0x280]
push 0
push edi
push ecx
call dword [sym.imp.USER32.dll_CheckDlgButton]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x26c
ret
mov eax, dword [0x656f18]
mov esi, dword [esp + 0x28c]
and eax, 0xffff
mov ebx, dword [esp + 0x280]
lea edx, [eax*8]
sub edx, eax
lea ecx, [eax + edx*4]
lea edx, [eax + ecx*2]
mov ecx, dword [0x6559e0]
lea eax, [eax + edx*2]
mov eax, dword [ecx + eax*2 + 0xe2]
test eax, eax
je 0x459dec
push 0x656f18
push esi
push edi
push 0x111
push ebx
call eax
add esp, 0x14
test eax, eax
je 0x45a0c7
mov edx, dword [esp + 0x290]
push edx
push esi
push edi
push 0x111
push ebx
call fcn.004cc9e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x26c
ret
mov eax, dword [esp + 0x290]
xor ecx, ecx
mov eax, dword [eax + 4]
cmp eax, ecx
mov dword [0x656c34], eax
jne 0x459e2e
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x26c
ret
mov esi, dword [esp + 0x280]
mov dx, word [eax + 0x2a6]
mov edi, dword [sym.imp.USER32.dll_GetDlgItem]
push 0x1619
push esi
mov word [0x656f18], dx
mov dword [0x656f1c], esi
mov word [0x656f1a], cx
mov word [0x656f48], cx
call edi
mov ebx, dword [sym.imp.USER32.dll_EnableWindow]
test eax, eax
je 0x459e8e
mov ecx, dword [0x656c34]
xor eax, eax
cmp word [ecx + 0x2ba], 1
sete al
push eax
push 0x1619
push esi
call edi
push eax
call ebx
mov edx, dword [0x656c34]
push edx
call fcn.00429990
add esp, 4
cmp ax, 1
je 0x459eaf
cmp esi, dword [0x652890]
je 0x459eaf
xor ebp, ebp
jmp 0x459eb4
mov ebp, 1
push 0x1614
push esi
call edi
test eax, eax
je 0x459ecc
push ebp
push 0x1614
push esi
call edi
push eax
call ebx
push 0x1615
push esi
call edi
test eax, eax
je 0x459ee4
push ebp
push 0x1615
push esi
call edi
push eax
call ebx
push 0x15e3
push esi
call edi
test eax, eax
je 0x459efc
push ebp
push 0x15e3
push esi
call edi
push eax
call ebx
push 0x15e4
push esi
call edi
test eax, eax
je 0x459f14
push ebp
push 0x15e4
push esi
call edi
push eax
call ebx
push 0x1625
push esi
call edi
test eax, eax
je 0x459f46
test ebp, ebp
je 0x459f38
mov ecx, dword [0x656c34]
mov eax, 1
cmp word [ecx + 0x2ba], ax
je 0x459f3a
xor eax, eax
push eax
push 0x1625
push esi
call edi
push eax
call ebx
push 0x1613
push esi
call edi
test eax, eax
je 0x459f78
test ebp, ebp
je 0x459f6a
mov edx, dword [0x656c34]
mov eax, 1
cmp word [edx + 0x2ba], ax
je 0x459f6c
xor eax, eax
push eax
push 0x1613
push esi
call edi
push eax
call ebx
push 0x15e1
push esi
call edi
test eax, eax
je 0x459faa
test ebp, ebp
je 0x459f9c
mov ecx, dword [0x656c34]
mov eax, 1
cmp word [ecx + 0x2ba], ax
je 0x459f9e
xor eax, eax
push eax
push 0x15e1
push esi
call edi
push eax
call ebx
push 0x15e2
push esi
call edi
test eax, eax
je 0x459fdc
test ebp, ebp
je 0x459fce
mov edx, dword [0x656c34]
mov eax, 1
cmp word [edx + 0x2ba], ax
je 0x459fd0
xor eax, eax
push eax
push 0x15e2
push esi
call edi
push eax
call ebx
mov eax, dword [0x655e8a]
test ah, 1
je 0x45a000
push 0
push 0x162e
push esi
call edi
push eax
call ebx
push 0
push 0x162f
push esi
call edi
push eax
call ebx
mov eax, dword [esp + 0x290]
mov edx, dword [esp + 0x28c]
push eax
push edx
mov ecx, dword [eax + 4]
push 0xffff
push 0x110
mov dword [0x656f20], ecx
push esi
mov dword [eax], 0x656f18
call fcn.004cc9e0
mov eax, dword [0x656f18]
and eax, 0xffff
lea ecx, [eax*8]
sub ecx, eax
lea edx, [eax + ecx*4]
lea ecx, [eax + edx*2]
lea edx, [eax + ecx*2]
mov eax, dword [0x6559e0]
mov eax, dword [eax + edx*2 + 0xe2]
test eax, eax
je 0x45a4f2
push 0x656f18
push 0
push 0
push 0x110
push esi
call eax
add esp, 0x14
test eax, eax
jne 0x45a4f2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x26c
ret
mov esi, dword [esp + 0x290]
mov ecx, dword [esp + 0x280]
push 0
push 0
push 0x110
push ecx
mov word [esi + 0xa], 1
call dword [sym.imp.USER32.dll_SendMessageA]
mov word [esi + 0xa], 0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x26c
ret
cmp eax, 0x403
je 0x45a0d4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x26c
ret
mov esi, dword [esp + 0x288]
mov dword [esp + 0x10], 0
push esi
call fcn.00425b00
add esp, 4
test ax, ax
je 0x45a106
mov eax, dword [0x656c34]
lea edx, [esp + 0x10]
push edx
push 0
push eax
call fcn.00426100
add esp, 0xc
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x28c]
mov ebp, dword [esp + 0x280]
mov ebx, dword [sym.imp.USER32.dll_SendDlgItemMessageA]
test eax, eax
jne 0x45a2ba
cmp esi, 0xffff
jne 0x45a169
mov ecx, dword [0x656c34]
mov ax, word [ecx + 0xa66]
test ax, ax
je 0x45a14a
cmp ax, 2
je 0x45a14a
mov eax, dword [edx]
jmp 0x45a14e
mov eax, dword [edx]
neg eax
lea edx, [esp + 0x18]
push 0
push edx
mov edx, dword [0x656f28]
add eax, edx
push eax
push ecx
call fcn.004cb0e0
add esp, 0x10
jmp 0x45a185
mov ecx, dword [edx]
mov edx, dword [0x656c34]
push 0
push esi
lea eax, [esp + 0x20]
push 1
push eax
push ecx
push edx
call fcn.00425b20
add esp, 0x18
lea eax, [esp + 0x118]
push 0x100
push eax
push 0x1625
push ebp
call dword [sym.imp.USER32.dll_GetDlgItem]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextA]
lea esi, [esp + 0x118]
lea eax, [esp + 0x18]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x45a1d4
test cl, cl
je 0x45a1d0
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x45a1d4
add eax, 2
add esi, 2
test cl, cl
jne 0x45a1b0
xor eax, eax
jmp 0x45a1d9
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45a1f1
lea eax, [esp + 0x18]
push eax
push 0x100
push 0xc
push 0x1625
push ebp
call ebx
mov eax, dword [esp + 0x288]
cmp eax, 0xffff
jne 0x45a22a
mov edx, dword [esp + 0x28c]
mov edi, dword [0x656f2c]
lea ecx, [esp + 0x18]
push 0
mov eax, dword [edx + 4]
push ecx
mov ecx, dword [0x656c34]
add eax, edi
push eax
push ecx
call fcn.004cb0e0
add esp, 0x10
jmp 0x45a250
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28c]
push edx
push eax
mov edx, dword [ecx + 4]
lea eax, [esp + 0x20]
push 2
push eax
mov eax, dword [0x656c34]
push edx
push eax
call fcn.00425b20
add esp, 0x18
lea ecx, [esp + 0x118]
push ecx
push 0x100
push 0xd
push 0x1613
push ebp
call ebx
lea esi, [esp + 0x118]
lea eax, [esp + 0x18]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x45a296
test cl, cl
je 0x45a292
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x45a296
add eax, 2
add esi, 2
test cl, cl
jne 0x45a272
xor eax, eax
jmp 0x45a29b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45a2b3
lea eax, [esp + 0x18]
push eax
push 0x100
push 0xc
push 0x1613
push ebp
call ebx
mov esi, dword [esp + 0x288]
cmp esi, 0xffff
mov edi, 4
jne 0x45a32b
cmp word [0x656f18], di
jne 0x45a4dc
mov ecx, dword [0x656c34]
cmp word [ecx + 0x2a4], 1
jne 0x45a4dc
mov ax, word [ecx + 0xa66]
test ax, ax
je 0x45a305
cmp ax, 2
je 0x45a305
mov edx, dword [esp + 0x28c]
mov eax, dword [edx]
jmp 0x45a310
mov eax, dword [esp + 0x28c]
mov eax, dword [eax]
neg eax
lea edx, [esp + 0x18]
push 0
push edx
mov edx, dword [0x656f30]
add eax, edx
push eax
push ecx
call fcn.004cb0e0
add esp, 0x10
jmp 0x45a385
cmp word [0x656f18], di
jne 0x45a35f
mov eax, dword [esp + 0x288]
mov edx, dword [esp + 0x28c]
push eax
lea ecx, [esp + 0x1c]
mov eax, dword [edx + 8]
push 1
push ecx
mov ecx, dword [0x656c34]
push eax
push ecx
call fcn.00425b20
add esp, 0x14
jmp 0x45a385
mov edx, dword [0x656c34]
lea ecx, [esp + 0x18]
mov ax, word [edx + 0x12c]
mov edx, dword [esp + 0x28c]
push eax
push ecx
mov eax, dword [edx + 8]
push eax
call fcn.004c8c70
add esp, 0xc
lea ecx, [esp + 0x118]
push ecx
push 0x100
push 0xd
push 0x1614
push ebp
call ebx
lea esi, [esp + 0x118]
lea eax, [esp + 0x18]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x45a3cb
test cl, cl
je 0x45a3c7
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x45a3cb
add eax, 2
add esi, 2
test cl, cl
jne 0x45a3a7
xor eax, eax
jmp 0x45a3d0
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45a3e8
lea eax, [esp + 0x18]
push eax
push 0x100
push 0xc
push 0x1614
push ebp
call ebx
cmp dword [esp + 0x288], 0xffff
jne 0x45a420
mov edx, dword [esp + 0x28c]
mov edi, dword [0x656f34]
lea ecx, [esp + 0x18]
push 0
mov eax, dword [edx + 4]
push ecx
mov ecx, dword [0x656c34]
add eax, edi
push eax
push ecx
call fcn.004cb0e0
add esp, 0x10
jmp 0x45a479
cmp word [0x656f18], di
jne 0x45a453
mov edx, dword [esp + 0x288]
mov ecx, dword [esp + 0x28c]
push edx
lea eax, [esp + 0x1c]
mov edx, dword [ecx + 0xc]
push 2
push eax
mov eax, dword [0x656c34]
push edx
push eax
call fcn.00425b20
add esp, 0x14
jmp 0x45a479
mov ecx, dword [0x656c34]
lea eax, [esp + 0x18]
mov dx, word [ecx + 0x12c]
mov ecx, dword [esp + 0x28c]
push edx
push eax
mov edx, dword [ecx + 0xc]
push edx
call fcn.004c8c70
add esp, 0xc
lea eax, [esp + 0x118]
push eax
push 0x100
push 0xd
push 0x1615
push ebp
call ebx
lea esi, [esp + 0x118]
lea eax, [esp + 0x18]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x45a4bf
test cl, cl
je 0x45a4bb
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x45a4bf
add eax, 2
add esi, 2
test cl, cl
jne 0x45a49b
xor eax, eax
jmp 0x45a4c4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45a4dc
lea eax, [esp + 0x18]
push eax
push 0x100
push 0xc
push 0x1615
push ebp
call ebx
mov ecx, dword [esp + 0x10]
mov edx, dword [0x656c34]
push ecx
push 0
push edx
call fcn.00426140
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x26c
ret