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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
push 0xffffffffffffffff
push 0x54c777
mov eax, dword fs:[0]
push eax
sub esp, 0xe8
mov eax, dword [0x5b2920]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push esi
push edi
mov eax, dword [0x5b2920]
xor eax, esp
push eax
lea eax, [esp + 0xf8]
mov dword fs:[0], eax
mov edi, ecx
mov dword [esp + 0x60], edi
call fcn.004f5b37
xor eax, eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], eax
call fcn.004f3785
fld qword [0x587a98]
mov ecx, dword [edi + 0x20]
mov eax, dword [eax + 0xc]
sub esp, 8
fstp qword [esp]
lea esi, [edi + 0x5e4]
push esi
push 0xbc1
push ecx
mov ecx, eax
lea ebx, [esp + 0x58]
call fcn.0040e0f0
test eax, eax
je 0x4a3eea
push 0x803
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3cdc
xor ecx, ecx
jmp 0x4a3cdf
mov ecx, dword [esi + 4]
mov edx, dword [eax + 0x20]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
push 1
push ecx
push 0x30
push edx
call ebx
push 0x808
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3d04
xor ecx, ecx
jmp 0x4a3d07
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x20]
push 1
push ecx
push 0x30
push eax
call ebx
push 0x4aa
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3d26
xor ecx, ecx
jmp 0x4a3d29
mov ecx, dword [esi + 4]
push 1
push ecx
mov ecx, dword [eax + 0x20]
push 0x30
push ecx
call ebx
push 0x4ab
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3d48
xor ecx, ecx
jmp 0x4a3d4b
mov ecx, dword [esi + 4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call ebx
push 0x4ac
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3d6a
xor ecx, ecx
jmp 0x4a3d6d
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x20]
push 1
push ecx
push 0x30
push eax
call ebx
push 0x4ad
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3d8c
xor ecx, ecx
jmp 0x4a3d8f
mov ecx, dword [esi + 4]
push 1
push ecx
mov ecx, dword [eax + 0x20]
push 0x30
push ecx
call ebx
push 0x418
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3dae
xor ecx, ecx
jmp 0x4a3db1
mov ecx, dword [esi + 4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call ebx
push 0x2afc
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3dd0
xor ecx, ecx
jmp 0x4a3dd3
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x20]
push 1
push ecx
push 0x30
push eax
call ebx
push 0x2b1c
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3df2
xor ecx, ecx
jmp 0x4a3df5
mov ecx, dword [esi + 4]
push 1
push ecx
mov ecx, dword [eax + 0x20]
push 0x30
push ecx
call ebx
push 0x868
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3e14
xor ecx, ecx
jmp 0x4a3e17
mov ecx, dword [esi + 4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call ebx
push 0x4ae
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3e36
xor ecx, ecx
jmp 0x4a3e39
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x20]
push 1
push ecx
push 0x30
push eax
call ebx
push 0x4af
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3e58
xor ecx, ecx
jmp 0x4a3e5b
mov ecx, dword [esi + 4]
push 1
push ecx
mov ecx, dword [eax + 0x20]
push 0x30
push ecx
call ebx
push 0x4b1
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3e7a
xor ecx, ecx
jmp 0x4a3e7d
mov ecx, dword [esi + 4]
mov edx, dword [eax + 0x20]
push 1
push ecx
push 0x30
push edx
call ebx
push 0x4b2
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3e9c
xor ecx, ecx
jmp 0x4a3e9f
mov ecx, dword [esi + 4]
mov eax, dword [eax + 0x20]
push 1
push ecx
push 0x30
push eax
call ebx
push 0x4b0
mov ecx, edi
call fcn.004f3841
test esi, esi
jne 0x4a3ebe
xor ecx, ecx
jmp 0x4a3ec1
mov ecx, dword [esi + 4]
push 1
push ecx
mov ecx, dword [eax + 0x20]
push 0x30
push ecx
call ebx
push 0x4b3
mov ecx, edi
call fcn.004f3841
test esi, esi
je 0x4a3edf
mov esi, dword [esi + 4]
mov edx, dword [eax + 0x20]
push 1
push esi
push 0x30
push edx
call ebx
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
xor esi, esi
cmp dword [0x5c2a04], esi
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [0x5c2a14], esi
je 0x4a4082
mov eax, dword [0x5c29a8]
cmp eax, esi
je 0x4a3f35
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [0x5c29a8], esi
push 0x5c29a8
call fcn.004a88f0
add esp, 4
cmp eax, esi
jl 0x4a4082
lea eax, [esp + 0x2c]
push eax
call fcn.004a8f80
cmp eax, esi
jl 0x4a4082
mov ecx, dword [esp + 0x34]
mov edx, dword [edi + 0xa4]
push ecx
push esi
push 0x143
push edx
call ebx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x30]
push eax
call fcn.005163a0
add esp, 4
cmp eax, esi
mov dword [esp + 0x20], eax
je 0x4a3fa2
lea esi, [edi + 0x148]
lea ebx, [esp + 0x20]
call fcn.00431ce0
mov eax, dword [esp + 0x20]
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov ecx, dword [esp + 0x64]
mov edx, dword [edi + 0xa4]
push eax
push ecx
push 0x151
push edx
call ebx
lea eax, [esp + 0x2c]
push eax
call fcn.004a8f80
test eax, eax
jl 0x4a4082
jmp 0x4a3fd0
mov ecx, dword [esp + 0x30]
push ecx
call fcn.005163a0
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
je 0x4a4047
mov ecx, dword [edi + 0x14c]
test ecx, ecx
lea esi, [edi + 0x148]
jne 0x4a3ff9
xor edx, edx
jmp 0x4a4001
mov edx, dword [esi + 8]
sub edx, ecx
sar edx, 2
test ecx, ecx
je 0x4a4022
mov eax, dword [esi + 0xc]
sub eax, ecx
sar eax, 2
cmp edx, eax
jae 0x4a4022
mov eax, dword [esi + 8]
mov edx, dword [esp + 0x20]
mov dword [eax], edx
add eax, 4
mov dword [esi + 8], eax
jmp 0x4a4047
mov ebx, dword [esi + 8]
cmp ecx, ebx
jbe 0x4a402e
call fcn.00510270
push ebx
push esi
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x70]
push ecx
mov eax, esi
call fcn.00431d40
mov ebx, dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [esp + 0x34]
mov eax, dword [edi + 0xa4]
push edx
push 0
push 0x143
push eax
call ebx
mov ecx, dword [esp + 0x20]
mov edx, dword [edi + 0xa4]
push ecx
push eax
push 0x151
push edx
call ebx
lea eax, [esp + 0x2c]
push eax
call fcn.004a8f80
test eax, eax
jge 0x4a3fd0
lea eax, [edi + 0x84]
mov dword [esp + 0x20], eax
call fcn.0049b9c0
mov ecx, dword [edi + 0xa4]
push 0xf
push 0xffffffffffffffff
push 0x153
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
mov dword [edi + 0xf4], eax
mov dword [esp + 0xbc], 7
mov dword [esp + 0xb8], eax
mov word [esp + 0xa8], ax
mov ebx, str.skincommon_
xor edi, edi
lea esi, [esp + 0x44]
mov dword [esp + 0x100], eax
call fcn.0040e5d0
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xb0]
mov byte [esp + 0x10c], 1
call fcn.004025b0
mov byte [esp + 0x100], 0
cmp dword [esp + 0x5c], 8
jb 0x4a4114
mov edx, dword [esp + 0x48]
push edx
call fcn.004e946d
add esp, 4
xor esi, esi
push esi
push 0x5660e8
lea ecx, [esp + 0x90]
mov dword [esp + 0xa8], 7
mov dword [esp + 0xa4], esi
mov word [esp + 0x94], si
call fcn.004029f0
push 0xffffffffffffffff
push esi
lea eax, [esp + 0xac]
push eax
lea ecx, [esp + 0x94]
mov byte [esp + 0x10c], 2
call fcn.004025b0
push 0xc
push str.check_bk.bmp
lea esi, [esp + 0x90]
call fcn.004028b0
cmp dword [esp + 0xa0], 8
mov eax, dword [esp + 0x8c]
jae 0x4a418c
lea eax, [esp + 0x8c]
mov ebx, dword [esp + 0x60]
lea edi, [ebx + 0x380]
push eax
call fcn.00432eb0
mov eax, dword [esp + 0x8c]
mov esi, 8
cmp dword [esp + 0xa0], esi
jae 0x4a41b8
lea eax, [esp + 0x8c]
lea edi, [ebx + 0x44c]
push eax
call fcn.00432eb0
cmp dword [esp + 0xa0], esi
mov eax, dword [esp + 0x8c]
jae 0x4a41db
lea eax, [esp + 0x8c]
lea edi, [ebx + 0x518]
push eax
call fcn.00432eb0
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0xac]
push ecx
lea ecx, [esp + 0x94]
call fcn.004025b0
push 0xd
push str.img_check.bmp
lea esi, [esp + 0x90]
call fcn.004028b0
cmp dword [esp + 0xa0], 8
mov edi, dword [esp + 0x8c]
jae 0x4a422a
lea edi, [esp + 0x8c]
lea ecx, [ebx + 0x380]
call fcn.00432f20
mov edi, dword [esp + 0x8c]
mov esi, 8
cmp dword [esp + 0xa0], esi
jae 0x4a4251
lea edi, [esp + 0x8c]
lea ecx, [ebx + 0x44c]
call fcn.00432f20
cmp dword [esp + 0xa0], esi
mov edi, dword [esp + 0x8c]
jae 0x4a4273
lea edi, [esp + 0x8c]
lea ecx, [ebx + 0x518]
call fcn.00432f20
mov edx, dword [ebx + 0xa4]
mov esi, dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x146
push edx
call esi
test eax, eax
jg 0x4a42a5
mov ecx, dword [esp + 0x20]
push 0
call fcn.004f3a8f
call fcn.004f4f7c
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x4a42bf
push 0x80004005
call fcn.00405130
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [esp + 0x24], eax
mov byte [esp + 0x100], 3
mov ecx, dword [ebx + 0x158]
mov edx, dword [ecx]
mov edx, dword [edx + 0xc]
push 0x45f
lea eax, [esp + 0x48]
push eax
call edx
mov edi, 8
mov byte [esp + 0x100], 4
cmp dword [eax + 0x18], edi
jb 0x4a4305
mov eax, dword [eax + 4]
jmp 0x4a4308
add eax, 4
push eax
lea ecx, [esp + 0x2c]
call fcn.00417990
mov byte [esp + 0x100], 6
cmp dword [esp + 0x5c], edi
jb 0x4a432d
mov eax, dword [esp + 0x48]
push eax
call fcn.004e946d
add esp, 4
mov ecx, dword [ebx + 0xa4]
xor edi, edi
push edi
push edi
push 0x146
push ecx
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], edi
mov word [esp + 0x58], di
call esi
test eax, eax
jle 0x4a43e5
jmp 0x4a4360
mov ecx, dword [esp + 0x20]
lea edx, [esp + 0x24]
push edx
push edi
call fcn.004f70da
cmp dword [ebx + 0x158], 0
je 0x4a43c8
mov ecx, dword [esp + 0x24]
xor eax, eax
test ecx, ecx
setne al
test eax, eax
je 0x4a42b5
mov eax, dword [esp + 0x28]
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x4a43b6
test dx, dx
je 0x4a43b2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x4a43b6
add eax, 4
add ecx, 4
test dx, dx
jne 0x4a4390
xor eax, eax
jmp 0x4a43bb
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x4a451a
mov eax, dword [ebx + 0xa4]
push 0
push 0
push 0x146
push eax
add edi, 1
call esi
cmp edi, eax
jl 0x4a4360
mov edx, dword [ebx + 0xa4]
push 0
push 0
push 0x146
push edx
call esi
test eax, eax
jle 0x4a440d
mov eax, dword [ebx + 0xa4]
push 0
push 0
push 0x14e
push eax
call esi
push 1
push 0x64
push 0
push 0x80b
mov ecx, ebx
call fcn.004f3841
mov ecx, eax
call fcn.004f6699
push 1
push 0x18
push 0xffffffffffffffe8
push 0x80c
mov ecx, ebx
call fcn.004f3841
mov ecx, eax
call fcn.004f6699
push 1
push 0xa
push 0xfffffffffffffff6
push 0x80d
mov ecx, ebx
call fcn.004f3841
mov ecx, eax
call fcn.004f6699
mov ecx, dword [ebx + 0x158]
test ecx, ecx
jne 0x4a452e
xor esi, esi
push esi
mov ecx, ebx
call fcn.004ed6b6
mov edi, eax
mov byte [esp + 0x100], 3
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a449a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x100], 2
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a44c2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov ebx, 8
cmp dword [esp + 0xa0], ebx
jb 0x4a44e0
mov ecx, dword [esp + 0x8c]
push ecx
call fcn.004e946d
add esp, 4
cmp dword [esp + 0xbc], ebx
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], esi
mov word [esp + 0x8c], si
jb 0x4a4513
mov edx, dword [esp + 0xa8]
push edx
call fcn.004e946d
add esp, 4
mov eax, edi
jmp 0x4a4749
mov ecx, dword [ebx + 0xa4]
push 0
push edi
push 0x14e
push ecx
jmp 0x4a440b
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x45d
call edx
mov ecx, dword [ebx + 0x158]
mov dword [ebx + 0x78], eax
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x45e
call edx
mov ecx, dword [ebx + 0x158]
mov dword [ebx + 0x7c], eax
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x48b
call edx
mov ecx, dword [ebx + 0x158]
mov dword [ebx + 0x80], eax
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x460
call edx
mov ecx, dword [ebx + 0x158]
mov dword [ebx + 0x134], eax
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x461
call edx
mov ecx, dword [ebx + 0x158]
mov dword [ebx + 0x138], eax
mov eax, dword [ecx]
mov edx, dword [eax + 8]
push 0x462
call edx
mov ecx, dword [ebx + 0x158]
mov dword [ebx + 0x13c], eax
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
push 0x463
lea edx, [esp + 0x70]
push edx
call eax
mov byte [esp + 0x100], 7
cmp dword [eax + 0x18], 8
jb 0x4a45dc
mov edi, dword [eax + 4]
jmp 0x4a45df
lea edi, [eax + 4]
test edi, edi
lea esi, [ebx + 0x140]
jne 0x4a45ed
xor eax, eax
jmp 0x4a4601
mov eax, edi
lea ecx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x4a45f2
sub eax, ecx
sar eax, 1
push eax
push edi
mov ecx, esi
call fcn.00417850
mov byte [esp + 0x100], 6
cmp dword [esp + 0x84], 8
jb 0x4a4629
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004e946d
add esp, 4
push 0xc776
lea edx, [ebx + 0x1bc]
push edx
call fcn.0042d8e0
push 0xc777
lea eax, [ebx + 0x254]
push eax
call fcn.0042d8e0
mov ecx, dword [ebx + 0x3a0]
mov eax, dword [ebx + 0x78]
mov edi, dword [sym.imp.USER32.dll_InvalidateRect]
push 1
xor esi, esi
push esi
push ecx
mov dword [ebx + 0x438], eax
call edi
mov edx, dword [ebx + 0x46c]
mov eax, dword [ebx + 0x7c]
push 1
push esi
push edx
mov dword [ebx + 0x504], eax
call edi
mov eax, dword [ebx + 0x80]
push 1
mov dword [ebx + 0x5d0], eax
mov eax, dword [ebx + 0x538]
push esi
push eax
call edi
push esi
mov ecx, ebx
call fcn.004ed6b6
mov byte [esp + 0x100], 3
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov dword [ebx + 0x15c], esi
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a46cb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov byte [esp + 0x100], 2
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4a46f3
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov edi, 8
cmp dword [esp + 0xa0], edi
jb 0x4a4711
mov ecx, dword [esp + 0x8c]
push ecx
call fcn.004e946d
add esp, 4
cmp dword [esp + 0xbc], edi
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], esi
mov word [esp + 0x8c], si
jb 0x4a4744
mov edx, dword [esp + 0xa8]
push edx
call fcn.004e946d
add esp, 4
mov eax, 1
mov ecx, dword [esp + 0xf8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.0050fe87
mov esp, ebp
pop ebp
ret