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

Disassembly:
push 0xffffffffffffffff
push 0x58baa9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x17c
mov eax, dword [0x5f9f88]
push ebx
push ebp
mov ebx, ecx
mov dword [esp + 0x90], eax
mov ecx, dword [ebx + 0x1c]
push 0
push 5
push 0x110a
push ecx
mov dword [esp + 0x19c], 0
call dword [sym.imp.USER32.dll_SendMessageA]
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x78], ebp
jne 0x4a621f
lea ecx, [esp + 0x90]
mov dword [esp + 0x18c], 0xffffffff
call fcn.0056870c
jmp 0x4a6750
push esi
mov esi, dword [esp + 0x198]
push edi
mov dword [esp + 0x9c], 0xffffffff
push 8
push ebp
mov ecx, ebx
call fcn.004a8b00
mov dword [esp + 0x50], eax
lea edx, [esp + 0x3c]
shr al, 1
push 1
and al, 1
push edx
push ebp
mov ecx, ebx
mov byte [esp + 0x23], al
call fcn.0056519f
test eax, eax
je 0x4a6714
mov ecx, dword [ebx + 0x1c]
lea eax, [esp + 0x174]
push eax
push ecx
call dword [sym.imp.USER32.dll_GetClientRect]
mov edx, dword [esp + 0x17c]
push ebp
dec edx
mov ecx, ebx
mov dword [esp + 0x48], edx
call fcn.005652d6
test eax, eax
mov dword [esp + 0x20], eax
jne 0x4a629f
mov ecx, ebx
call fcn.004a8810
cmp eax, 1
jbe 0x4a629f
mov byte [esp + 0x17], 0
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x40]
mov ecx, dword [ebx + 0x94]
mov edx, edi
sub edx, eax
mov dword [esp + 0x38], 0
test ecx, ecx
mov dword [esp + 0x1c], edx
je 0x4a62e4
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x4a62dc
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x38], 1
sub edx, 0x10
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x1c]
test ecx, ecx
jne 0x4a632c
mov ecx, dword [esp + 0x9c]
cmp ecx, 0xffffffff
jne 0x4a62f4
mov ecx, eax
jmp 0x4a62f7
add ecx, 0x12
cmp dword [esp + 0x20], 0
mov eax, ecx
lea edi, [edx + ecx]
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], edi
je 0x4a632c
cmp edx, 0x14
jle 0x4a632c
add ecx, 0x12
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x3c]
add ecx, 0x10
mov dword [esp + 0x3c], ecx
mov cl, byte [esp + 0x17]
test cl, cl
je 0x4a64a2
mov ecx, dword [ebx + 0xb4]
mov ebp, eax
mov eax, dword [esp + 0x17c]
mov dword [esp + 0x15c], edi
mov edi, dword [ebx + 0x100]
dec eax
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x3c]
push ecx
lea ecx, [esp + 0x14c]
add edi, eax
call fcn.0056fbd0
mov ecx, dword [esp + 0x15c]
mov edx, dword [esp + 0x158]
dec ecx
mov dword [esp + 0x160], edi
test eax, eax
mov dword [esp + 0x164], ebp
mov dword [esp + 0x168], edx
mov dword [esp + 0x24], ecx
mov dword [esp + 0x16c], ecx
je 0x4a63a5
mov eax, dword [eax + 4]
push eax
mov eax, dword [esi + 4]
lea edx, [esp + 0x164]
push edx
push eax
call dword [sym.imp.USER32.dll_FillRect]
mov dword [esp + method.CGdiObject.virtual_0], vtable.CGdiObject.0
lea ecx, [esp + 0x148]
mov byte [esp + 0x194], 1
call fcn.0056fb6a
mov ecx, dword [ebx + 0xb0]
mov byte [esp + 0x194], 0
push ecx
push 1
push 0
lea ecx, [esp + 0xc4]
call fcn.0056fb80
lea edx, [esp + 0xb8]
mov ecx, esi
push edx
mov byte [esp + 0x198], 2
call fcn.0056f11f
mov dword [esp + 0x64], eax
push ebp
lea eax, [esp + 0x188]
push edi
push eax
mov ecx, esi
call fcn.0056f624
mov ecx, dword [esp + 0x158]
push ebp
push ecx
mov ecx, esi
call fcn.0056f670
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x158]
push edx
push eax
mov ecx, esi
call fcn.0056f670
mov ecx, dword [esp + 0x24]
push ecx
push edi
mov ecx, esi
call fcn.0056f670
push ebp
push edi
mov ecx, esi
call fcn.0056f670
mov edx, dword [esp + 0x64]
mov ecx, esi
push edx
call fcn.0056f11f
lea ecx, [esp + 0xb8]
call fcn.0056fb6a
mov dword [esp + 0xb8], vtable.CGdiObject.0
lea ecx, [esp + 0xb8]
mov byte [esp + 0x194], 3
call fcn.0056fb6a
mov ebp, dword [esp + 0x80]
mov byte [esp + 0x194], 0
lea eax, [esp + 0x170]
lea ecx, [esp + 0x84]
push eax
push ecx
push ebp
mov ecx, ebx
call fcn.0056525f
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x4a6583
mov eax, dword [ebx + 0x94]
test eax, eax
jne 0x4a653f
mov eax, dword [esp + 0x20]
test eax, eax
je 0x4a653f
cmp dword [esp + 0x1c], 0x14
jle 0x4a653f
call fcn.00578d59
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x178]
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
cmp dword [esp + 0x84], eax
jge 0x4a65ec
call fcn.00578d59
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x84]
push 0
push ecx
mov edx, dword [eax + 0x170]
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
push 3
push 0
mov edi, eax
push 0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push 0x20
push 0x20
inc eax
push edi
push eax
add ecx, 0xffffffde
jmp 0x4a65da
mov eax, dword [ebx + 0x1c]
push 0
push 0
push 0x1108
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
push eax
call fcn.005657c3
mov ecx, dword [esp + 0x84]
mov edx, dword [eax + 4]
push 0
push ecx
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
mov edi, eax
test edi, edi
je 0x4a65e5
mov eax, dword [esp + 0x1c]
push 3
cmp eax, 0x14
push 0
push 0
jle 0x4a65c8
jmp 0x4a6528
call fcn.00578d59
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x178]
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_GetImageCount]
cmp dword [esp + 0x84], eax
jge 0x4a65ec
call fcn.00578d59
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x84]
push 0
push ecx
mov edx, dword [eax + 0x178]
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
push 3
push 0
mov edi, eax
push 0
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push 0x10
push 0x10
inc eax
push edi
push eax
add ecx, 0xffffffee
mov edx, dword [esi + 4]
push ecx
push edx
call dword [sym.imp.USER32.dll_DrawIconEx]
push edi
call dword [sym.imp.USER32.dll_DestroyIcon]
lea eax, [esp + 0x11c]
push ebp
push eax
mov ecx, ebx
call fcn.005651bf
push eax
lea ecx, [esp + 0x9c]
mov byte [esp + 0x198], 4
call fcn.00568845
lea ecx, [esp + 0x11c]
mov byte [esp + 0x194], 0
call fcn.0056870c
push 1
push 0
push 1
push 0
lea ecx, [esp + 0x4c]
call fcn.00575e38
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa0], vtable.CFont.0
mov eax, dword [esp + 0x20]
mov byte [esp + 0x194], 5
test eax, eax
jne 0x4a67a7
mov al, byte [esp + 0x50]
push 0x5e76ec
push 0x20
push 0
push 0
push 0
push 1
push 0
test al, 0x10
push 0
push 0
je 0x4a6769
push 0x2bc
push 0
push 0
push 0
push 0xc
call dword [sym.imp.GDI32.dll_CreateFontA]
push eax
lea ecx, [esp + 0xa4]
call fcn.0056fb13
mov edx, dword [esi]
lea eax, [esp + 0xa0]
push eax
mov ecx, esi
call dword [edx + 0x28]
mov edx, dword [esi]
mov edi, eax
mov eax, dword [ebx + 0xc8]
push eax
mov ecx, esi
call dword [edx + 0x30]
mov eax, dword [esp + 0x98]
mov edx, dword [esi]
lea ebp, [esp + 0x3c]
push 0x24
mov ecx, dword [eax - 8]
push ebp
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
test edi, edi
je 0x4a66e6
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x28]
mov ebp, dword [esp + 0x80]
mov dword [esp + 0xa0], vtable.CGdiObject.0
lea ecx, [esp + 0xa0]
mov byte [esp + 0x194], 0x2f
call fcn.0056fb6a
mov byte [esp + 0x194], 0
mov ecx, dword [ebx + 0x1c]
push ebp
push 6
push 0x110a
push ecx
call dword [sym.imp.USER32.dll_SendMessageA]
mov ebp, eax
test ebp, ebp
mov dword [esp + 0x80], ebp
jne 0x4a6233
lea ecx, [esp + 0x98]
mov dword [esp + 0x194], 0xffffffff
call fcn.0056870c
pop edi
pop esi
mov ecx, dword [esp + 0x184]
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x188
ret 4
push 0x190
push 0
push 0
push 0
push 0xc
call dword [sym.imp.GDI32.dll_CreateFontA]
push eax
lea ecx, [esp + 0xa4]
call fcn.0056fb13
mov edx, dword [esi]
lea eax, [esp + 0xa0]
push eax
mov ecx, esi
call dword [edx + 0x28]
mov edx, dword [esi]
mov edi, eax
mov eax, dword [ebx + 0xcc]
jmp 0x4a66ba
cmp dword [esp + 0x1c], 0x14
jle 0x4a7982
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x48]
mov eax, ecx
mov edi, dword [esp + 0x3c]
sub eax, ebp
mov dword [esp + 0xb4], ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x44]
sar eax, 1
add eax, ebp
mov dword [esp + 0x94], ecx
push 0x5e7abc
lea ecx, [esp + 0x70]
mov dword [esp + 0xac], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], ebp
mov dword [esp + 0x94], edx
call fcn.0056877a
mov eax, dword [ebx + 0x40]
mov byte [esp + 0x194], 6
test eax, eax
je 0x4a6832
add eax, 0x526c
lea ecx, [esp + 0x6c]
push eax
call fcn.00568895
lea ecx, [esp + 0x6c]
call fcn.00563f13
mov eax, dword [esp + 0x6c]
push 0x5fe7d8
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a685f
push 0x5e7abc
lea ecx, [esp + 0x70]
call fcn.00568895
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x3c]
mov eax, dword [ecx + 0x100]
test eax, 0x1ff00
mov dword [esp + 0x50], eax
je 0x4a6a89
mov edx, dword [ebx + 0xa0]
push 0
push 0
push edx
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
mov dword [esp + 0x24], eax
mov eax, dword [ebx + 0xa0]
push 0
push 1
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
mov ecx, dword [ebx + 0xa0]
push 0
push 2
push ecx
mov dword [esp + 0x58], eax
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x50]
test eax, 0x10000
je 0x4a68fe
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
push edx
push ebp
push edi
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
add edi, 0x10
push ecx
push ebp
push edi
push edx
jmp 0x4a6a5f
mov eax, dword [esp + 0x50]
test ah, 0x80
je 0x4a693f
mov eax, dword [esp + 0x24]
mov ecx, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
push eax
push ebp
push edi
push ecx
call dword [sym.imp.USER32.dll_DrawIconEx]
mov edx, dword [esp + 0x4c]
mov eax, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
add edi, 0x10
push edx
push ebp
push edi
push eax
jmp 0x4a6a5f
test ah, 0x40
je 0x4a6967
mov ecx, dword [esp + 0x24]
mov edx, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
push ecx
push ebp
push edi
push edx
call dword [sym.imp.USER32.dll_DrawIconEx]
add edi, 0x10
jmp 0x4a6a4a
test ah, 0x20
je 0x4a6986
mov edx, dword [esp + 0x24]
mov eax, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
push edx
push ebp
push edi
push eax
jmp 0x4a6a5f
test ah, 0x10
je 0x4a69bc
mov ecx, dword [esp + 0x4c]
mov edx, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
push ecx
push ebp
push edi
push edx
call dword [sym.imp.USER32.dll_DrawIconEx]
mov eax, dword [esp + 0x4c]
push 3
push 0
push 0
push 0x10
add edi, 0x10
push 0x10
jmp 0x4a6a58
test ah, 8
je 0x4a69f6
mov edx, dword [esp + 0x4c]
mov eax, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
push edx
push ebp
push edi
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
add edi, 0x10
push ecx
push ebp
push edi
push edx
jmp 0x4a6a5f
test ah, 4
je 0x4a6a0b
mov eax, dword [esp + 0x4c]
push 3
push 0
push 0
push 0x10
push 0x10
jmp 0x4a6a58
test ah, 2
je 0x4a6a45
mov edx, dword [esp + 0x1c]
mov eax, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
push edx
push ebp
push edi
push eax
call dword [sym.imp.USER32.dll_DrawIconEx]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
add edi, 0x10
push ecx
push ebp
push edi
push edx
jmp 0x4a6a5f
test ah, 1
je 0x4a6a68
mov eax, dword [esp + 0x1c]
push 3
push 0
push 0
push 0x10
push 0x10
mov ecx, dword [esi + 4]
push eax
push ebp
push edi
push ecx
call dword [sym.imp.USER32.dll_DrawIconEx]
add edi, 0x10
mov edx, dword [esp + 0x24]
push edx
call dword [sym.imp.USER32.dll_DestroyIcon]
mov eax, dword [esp + 0x4c]
push eax
call dword [sym.imp.USER32.dll_DestroyIcon]
mov ecx, dword [esp + 0x1c]
push ecx
call dword [sym.imp.USER32.dll_DestroyIcon]
mov edx, dword [0x5f9f88]
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x194], 7
mov dword [esp + 0x4c], 1
mov dword [esp + 0x24], 0
mov ecx, dword [eax - 8]
test ecx, ecx
jle 0x4a71ca
mov ecx, dword [esp + 0x24]
push 1
mov dl, byte [ecx + eax]
lea ecx, [esp + 0x80]
mov byte [esp + 0x114], dl
mov eax, dword [esp + 0x114]
push eax
call fcn.005636e2
mov ecx, dword [esp + 0x7c]
push 0x5e8948
push ecx
mov byte [esp + 0x19c], 8
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a6be2
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x10]
add edx, 0x6c
push edx
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a71a1
mov eax, dword [esp + 0x10]
push 0x5fe7d8
push eax
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a71a1
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x4a6ba9
lea ecx, [esp + 0x10]
lea edx, [esp + 0x12c]
push ecx
push 0x5e77c0
push edx
call fcn.00568a15
push 0x5e77bc
push eax
lea eax, [esp + 0x120]
mov byte [esp + 0x19c], 9
push eax
call fcn.005689a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x198], 0xa
call fcn.00568845
lea ecx, [esp + 0x118]
mov byte [esp + 0x194], 9
call fcn.0056870c
lea ecx, [esp + 0x12c]
mov byte [esp + 0x194], 8
call fcn.0056870c
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0xb8]
mov dword [esp + 0x30], edx
mov edx, dword [esi]
mov dword [esp + 0x28], ecx
push eax
mov ecx, esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], edi
call dword [edx + 0x30]
jmp 0x4a7164
mov eax, dword [esp + 0x7c]
push 0x5efa00
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a6cd5
mov ecx, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a71a1
mov edx, dword [esp + 0x10]
push 0x5fe7d8
push edx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a71a1
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x4a6ca2
lea eax, [esp + 0x10]
lea ecx, [esp + 0x13c]
push eax
push 0x5e77c0
push ecx
call fcn.00568a15
push 0x5e77bc
lea edx, [esp + 0x138]
push eax
push edx
mov byte [esp + 0x1a0], 0xb
call fcn.005689a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x198], 0xc
call fcn.00568845
lea ecx, [esp + 0x134]
mov byte [esp + 0x194], 0xb
call fcn.0056870c
lea ecx, [esp + 0x13c]
mov byte [esp + 0x194], 8
call fcn.0056870c
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 0xd0]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], edi
jmp 0x4a715e
mov eax, dword [esp + 0x7c]
push 0x5eaa44
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a6e80
mov ecx, dword [0x5f9f88]
mov dword [esp + 0x50], 1
mov dword [esp + 0x64], ecx
mov eax, dword [ebx + 0xd8]
mov byte [esp + 0x194], 0xd
test eax, eax
je 0x4a6d97
mov edx, dword [esp + 0x20]
mov dword [esp + 0x1c], 0x5fe7d8
lea eax, [edx + 0x104]
mov cl, byte [eax]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x17], cl
cmp cl, byte [edx]
jne 0x4a6d59
test cl, cl
je 0x4a6d55
mov cl, byte [eax + 1]
mov byte [esp + 0x17], cl
cmp cl, byte [edx + 1]
jne 0x4a6d59
add eax, 2
add edx, 2
test cl, cl
mov dword [esp + 0x1c], edx
jne 0x4a6d29
xor eax, eax
jmp 0x4a6d5e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4a6d97
call fcn.00578d59
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 4]
lea ecx, [esp + 0x64]
push ecx
lea ecx, [edx + 0x104]
push ecx
mov ecx, dword [eax + 0x13c]
add ecx, 0x5b24
call fcn.005672cc
test eax, eax
je 0x4a6d97
mov dword [esp + 0x50], 0
mov eax, dword [esp + 0x4c]
test eax, eax
je 0x4a6db3
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x10]
add eax, 0x32
push eax
push 0x5e8828
push ecx
jmp 0x4a6dc5
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x10]
add edx, 0x32
push edx
push 0x5f0658
push eax
call fcn.00563eb4
mov eax, dword [esp + 0x5c]
add esp, 0xc
test eax, eax
je 0x4a6e6a
cmp edi, dword [esp + 0x44]
jge 0x4a6e6a
mov ecx, dword [esp + 0x10]
push 0x5fe7d8
push ecx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a6e6a
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0xbc]
mov dword [esp + 0x28], edx
mov edx, dword [esi]
mov dword [esp + 0x34], ecx
push eax
mov ecx, esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], edi
call dword [edx + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea edi, [esp + 0x28]
push 0x424
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea edi, [esp + 0x28]
push 0x24
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x4c], 0
lea ecx, [esp + 0x64]
mov byte [esp + 0x194], 8
call fcn.0056870c
jmp 0x4a71a1
mov eax, dword [esp + 0x7c]
push 0x5eaa38
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a6f71
cmp edi, dword [esp + 0x44]
jge 0x4a71a1
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x64]
push edx
call sub.WSOCK32.dll_inet_ntoa
push eax
lea eax, [esp + 0x14]
push 0x5e8828
push eax
call fcn.00563eb4
mov eax, dword [esp + 0x58]
add esp, 0xc
test eax, eax
jne 0x4a6f38
lea ecx, [esp + 0x10]
lea edx, [esp + 0x140]
push ecx
push 0x5e77c0
push edx
call fcn.00568a15
push 0x5e77bc
push eax
lea eax, [esp + 0x14c]
mov byte [esp + 0x19c], 0xe
push eax
call fcn.005689a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x198], 0xf
call fcn.00568845
lea ecx, [esp + 0x144]
mov byte [esp + 0x194], 0xe
call fcn.0056870c
lea ecx, [esp + 0x140]
mov byte [esp + 0x194], 8
call fcn.0056870c
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0xb0]
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0x30], edx
mov edx, dword [esi]
mov dword [esp + 0x28], ecx
push eax
mov ecx, esi
mov dword [esp + 0x30], ebp
mov dword [esp + 0x2c], edi
call dword [edx + 0x30]
jmp 0x4a7164
mov eax, dword [esp + 0x7c]
push 0x5ef9fc
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a706a
mov ecx, dword [esp + 0x20]
add ecx, 0x9e
push ecx
lea ecx, [esp + 0x14]
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a71a1
mov edx, dword [esp + 0x10]
push 0x5fe7d8
push edx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a71a1
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x4a7037
lea eax, [esp + 0x10]
lea ecx, [esp + 0x114]
push eax
push 0x5e77c0
push ecx
call fcn.00568a15
push 0x5e77bc
lea edx, [esp + 0xcc]
push eax
push edx
mov byte [esp + 0x1a0], 0x10
call fcn.005689a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x198], 0x11
call fcn.00568845
lea ecx, [esp + 0xc8]
mov byte [esp + 0x194], 0x10
call fcn.0056870c
lea ecx, [esp + 0x114]
mov byte [esp + 0x194], 8
call fcn.0056870c
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 0xd4]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], edi
jmp 0x4a715e
mov eax, dword [esp + 0x7c]
push 0x5ef9f8
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a71a1
mov ecx, dword [esp + 0x20]
add ecx, 0x120
push ecx
lea ecx, [esp + 0x14]
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a71a1
mov edx, dword [esp + 0x10]
push 0x5fe7d8
push edx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a71a1
mov eax, dword [esp + 0x4c]
test eax, eax
jne 0x4a7130
lea eax, [esp + 0x10]
lea ecx, [esp + 0x130]
push eax
push 0x5e77c0
push ecx
call fcn.00568a15
push 0x5e77bc
lea edx, [esp + 0xd4]
push eax
push edx
mov byte [esp + 0x1a0], 0x12
call fcn.005689a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x198], 0x13
call fcn.00568845
lea ecx, [esp + 0xd0]
mov byte [esp + 0x194], 0x12
call fcn.0056870c
lea ecx, [esp + 0x130]
mov byte [esp + 0x194], 8
call fcn.0056870c
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esi]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 0xc0]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x34], edx
mov dword [esp + 0x28], edi
push ecx
mov ecx, esi
call dword [eax + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea edi, [esp + 0x28]
push 0x424
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea edi, [esp + 0x28]
push 0x24
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x4c], 0
lea ecx, [esp + 0x7c]
mov byte [esp + 0x194], 7
call fcn.0056870c
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x24]
inc ecx
mov edx, dword [eax - 8]
mov dword [esp + 0x24], ecx
cmp ecx, edx
jl 0x4a6aba
push 0x5e7ab8
lea ecx, [esp + 0x78]
call fcn.0056877a
mov eax, dword [ebx + 0x40]
mov byte [esp + 0x194], 0x14
test eax, eax
je 0x4a71f6
add eax, 0x5278
lea ecx, [esp + 0x74]
push eax
call fcn.00568895
lea ecx, [esp + 0x74]
call fcn.00563f13
mov eax, dword [esp + 0x74]
push 0x5fe7d8
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a7223
push 0x5e7ab8
lea ecx, [esp + 0x78]
call fcn.00568895
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x3c]
mov ebp, 1
mov dword [esp + 0x24], 0
mov ecx, dword [eax - 8]
test ecx, ecx
jle 0x4a794a
mov ecx, dword [esp + 0x24]
push 1
mov dl, byte [eax + ecx]
lea ecx, [esp + 0x74]
mov byte [esp + 0xdc], dl
mov eax, dword [esp + 0xdc]
push eax
call fcn.005636e2
mov ecx, dword [esp + 0x70]
push 0x5e8948
push ecx
mov byte [esp + 0x19c], 0x15
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a7365
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x10]
add edx, 0x6c
push edx
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a7921
mov eax, dword [esp + 0x10]
push 0x5fe7d8
push eax
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a7921
test ebp, ebp
jne 0x4a732b
lea ecx, [esp + 0x10]
lea edx, [esp + 0xe0]
push ecx
push 0x5e77c0
push edx
call fcn.00568a15
push 0x5e77bc
push eax
lea eax, [esp + 0xc8]
mov byte [esp + 0x19c], 0x16
push eax
call fcn.005689a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x198], 0x17
call fcn.00568845
lea ecx, [esp + 0xc0]
mov byte [esp + 0x194], 0x16
call fcn.0056870c
lea ecx, [esp + 0xe0]
mov byte [esp + 0x194], 0x15
call fcn.0056870c
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, dword [esi]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0xb8]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], edi
jmp 0x4a78e4
mov eax, dword [esp + 0x70]
push 0x5efa00
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a745b
mov ecx, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a7921
mov edx, dword [esp + 0x10]
push 0x5fe7d8
push edx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a7921
test ebp, ebp
jne 0x4a7421
lea eax, [esp + 0x10]
lea ecx, [esp + 0xe8]
push eax
push 0x5e77c0
push ecx
call fcn.00568a15
push 0x5e77bc
lea edx, [esp + 0x124]
push eax
push edx
mov byte [esp + 0x1a0], 0x18
call fcn.005689a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x198], 0x19
call fcn.00568845
lea ecx, [esp + 0x120]
mov byte [esp + 0x194], 0x18
call fcn.0056870c
lea ecx, [esp + 0xe8]
mov byte [esp + 0x194], 0x15
call fcn.0056870c
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x30], edx
mov edx, dword [esi]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0xd0]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edi
jmp 0x4a78e4
mov eax, dword [esp + 0x70]
push 0x5eaa44
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a7603
mov ecx, dword [0x5f9f88]
mov dword [esp + 0x64], 1
mov dword [esp + 0x50], ecx
mov eax, dword [ebx + 0xd8]
mov byte [esp + 0x194], 0x1a
test eax, eax
je 0x4a751d
mov edx, dword [esp + 0x20]
mov dword [esp + 0x1c], 0x5fe7d8
lea eax, [edx + 0x104]
mov cl, byte [eax]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x17], cl
cmp cl, byte [edx]
jne 0x4a74df
test cl, cl
je 0x4a74db
mov cl, byte [eax + 1]
mov byte [esp + 0x17], cl
cmp cl, byte [edx + 1]
jne 0x4a74df
add eax, 2
add edx, 2
test cl, cl
mov dword [esp + 0x1c], edx
jne 0x4a74af
xor eax, eax
jmp 0x4a74e4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4a751d
call fcn.00578d59
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 4]
lea ecx, [esp + 0x50]
push ecx
lea ecx, [edx + 0x104]
push ecx
mov ecx, dword [eax + 0x13c]
add ecx, 0x5b24
call fcn.005672cc
test eax, eax
je 0x4a751d
mov dword [esp + 0x64], 0
test ebp, ebp
je 0x4a7535
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x10]
add eax, 0x32
push eax
push 0x5e8828
push ecx
jmp 0x4a7547
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x10]
add edx, 0x32
push edx
push 0x5f0658
push eax
call fcn.00563eb4
mov eax, dword [esp + 0x70]
add esp, 0xc
test eax, eax
je 0x4a75ed
cmp edi, dword [esp + 0x44]
jge 0x4a75ed
mov ecx, dword [esp + 0x10]
push 0x5fe7d8
push ecx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a75ed
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x88]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x30], ecx
mov ecx, dword [ebx + 0xbc]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 0x2c], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
mov dword [esp + 0x38], edx
mov dword [esp + 0x2c], edi
call dword [eax + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea edi, [esp + 0x28]
push 0x424
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea edi, [esp + 0x28]
push 0x24
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov edi, dword [esp + 0x30]
xor ebp, ebp
lea ecx, [esp + 0x50]
mov byte [esp + 0x194], 0x15
call fcn.0056870c
jmp 0x4a7921
mov eax, dword [esp + 0x70]
push 0x5eaa38
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a76f1
cmp edi, dword [esp + 0x44]
jge 0x4a7921
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x64]
push edx
call sub.WSOCK32.dll_inet_ntoa
push eax
lea eax, [esp + 0x14]
push 0x5e8828
push eax
call fcn.00563eb4
add esp, 0xc
test ebp, ebp
jne 0x4a76b7
lea ecx, [esp + 0x10]
lea edx, [esp + 0xf0]
push ecx
push 0x5e77c0
push edx
call fcn.00568a15
push 0x5e77bc
push eax
lea eax, [esp + 0x12c]
mov byte [esp + 0x19c], 0x1b
push eax
call fcn.005689a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x198], 0x1c
call fcn.00568845
lea ecx, [esp + 0x124]
mov byte [esp + 0x194], 0x1b
call fcn.0056870c
lea ecx, [esp + 0xf0]
mov byte [esp + 0x194], 0x15
call fcn.0056870c
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x2c], edx
mov edx, dword [esi]
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], edi
jmp 0x4a78e4
mov eax, dword [esp + 0x70]
push 0x5ef9fc
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a77ed
mov ecx, dword [esp + 0x20]
add ecx, 0x9e
push ecx
lea ecx, [esp + 0x14]
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a7921
mov edx, dword [esp + 0x10]
push 0x5fe7d8
push edx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a7921
test ebp, ebp
jne 0x4a77b3
lea eax, [esp + 0x10]
lea ecx, [esp + 0xf8]
push eax
push 0x5e77c0
push ecx
call fcn.00568a15
push 0x5e77bc
lea edx, [esp + 0x100]
push eax
push edx
mov byte [esp + 0x1a0], 0x1d
call fcn.005689a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x198], 0x1e
call fcn.00568845
lea ecx, [esp + 0xfc]
mov byte [esp + 0x194], 0x1d
call fcn.0056870c
lea ecx, [esp + 0xf8]
mov byte [esp + 0x194], 0x15
call fcn.0056870c
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x30], edx
mov edx, dword [esi]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0xd4]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edi
jmp 0x4a78e4
mov eax, dword [esp + 0x70]
push 0x5ef9f8
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a7921
mov ecx, dword [esp + 0x20]
add ecx, 0x120
push ecx
lea ecx, [esp + 0x14]
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a7921
mov edx, dword [esp + 0x10]
push 0x5fe7d8
push edx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a7921
test ebp, ebp
jne 0x4a78af
lea eax, [esp + 0x10]
lea ecx, [esp + 0x108]
push eax
push 0x5e77c0
push ecx
call fcn.00568a15
push 0x5e77bc
lea edx, [esp + 0x104]
push eax
push edx
mov byte [esp + 0x1a0], 0x1f
call fcn.005689a1
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x198], 0x20
call fcn.00568845
lea ecx, [esp + 0x100]
mov byte [esp + 0x194], 0x1f
call fcn.0056870c
lea ecx, [esp + 0x108]
mov byte [esp + 0x194], 0x15
call fcn.0056870c
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x30], edx
mov edx, dword [esi]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0xc0]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edi
push eax
mov ecx, esi
call dword [edx + 0x30]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea edi, [esp + 0x28]
push 0x424
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov eax, dword [esp + 0x10]
mov edx, dword [esi]
lea edi, [esp + 0x28]
push 0x24
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov edi, dword [esp + 0x30]
xor ebp, ebp
lea ecx, [esp + 0x70]
mov byte [esp + 0x194], 0x14
call fcn.0056870c
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x24]
inc ecx
mov edx, dword [eax - 8]
mov dword [esp + 0x24], ecx
cmp ecx, edx
jl 0x4a7243
lea ecx, [esp + 0x74]
mov byte [esp + 0x194], 7
call fcn.0056870c
lea ecx, [esp + 0x10]
mov byte [esp + 0x194], 6
call fcn.0056870c
lea ecx, [esp + 0x6c]
mov byte [esp + 0x194], 5
call fcn.0056870c
jmp 0x4a66e6
push 0x5e7a94
lea ecx, [esp + 0x7c]
call fcn.0056877a
mov eax, dword [ebx + 0x40]
mov byte [esp + 0x194], 0x21
test eax, eax
je 0x4a79ae
add eax, 0x5284
lea ecx, [esp + 0x78]
push eax
call fcn.00568895
lea ecx, [esp + 0x78]
call fcn.00563f13
mov eax, dword [esp + 0x78]
push 0x5fe7d8
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a79db
push 0x5e7a94
lea ecx, [esp + 0x7c]
call fcn.00568895
mov ecx, dword [0x5f9f88]
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x18], ecx
mov edx, dword [esp + 0x20]
mov byte [esp + 0x194], 0x22
mov ebp, dword [edx + 0x100]
test ebp, 0x1ff00
je 0x4a7c40
mov eax, dword [ebx + 0xa0]
push 0
push 0
push eax
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
mov ecx, dword [ebx + 0xa0]
push 0
push 1
push ecx
mov dword [esp + 0x30], eax
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
mov edx, dword [ebx + 0xa0]
push 0
push 2
push edx
mov dword [esp + 0x44], eax
call dword [sym.imp.COMCTL32.dll_ImageList_GetIcon]
test ebp, 0x10000
mov dword [esp + 0x1c], eax
je 0x4a7a8a
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x40]
mov ecx, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
push ebp
push eax
push edi
push ecx
call dword [sym.imp.USER32.dll_DrawIconEx]
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
add edi, 0x10
push ebp
push edx
push edi
push eax
jmp 0x4a7c1c
test ebp, 0x8000
je 0x4a7ad6
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 4]
push 3
mov ebp, dword [sym.imp.USER32.dll_DrawIconEx]
push 0
push 0
push 0x10
push 0x10
push ecx
push edx
push edi
push eax
call ebp
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
add edi, 0x10
push ecx
push edx
push edi
push eax
call ebp
jmp 0x4a7c22
test ebp, 0x4000
je 0x4a7b22
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 4]
push 3
mov ebp, dword [sym.imp.USER32.dll_DrawIconEx]
push 0
push 0
push 0x10
push 0x10
push ecx
push edx
push edi
push eax
call ebp
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
add edi, 0x10
push ecx
push edx
push edi
push eax
call ebp
jmp 0x4a7c22
test ebp, 0x2000
je 0x4a7b48
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
mov eax, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
push ecx
push edx
push edi
push eax
jmp 0x4a7c1c
test ebp, 0x1000
je 0x4a7b82
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov edx, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
push ebp
push ecx
push edi
push edx
call dword [sym.imp.USER32.dll_DrawIconEx]
push 3
push 0
push 0
push 0x10
push 0x10
add edi, 0x10
push ebp
jmp 0x4a7c12
test ebp, 0x800
je 0x4a7b9a
mov edx, dword [esp + 0x38]
push 3
push 0
push 0
push 0x10
push 0x10
jmp 0x4a7bc8
test ebp, 0x400
je 0x4a7bb2
mov edx, dword [esp + 0x38]
push 3
push 0
push 0
push 0x10
push 0x10
jmp 0x4a7c11
test ebp, 0x200
je 0x4a7bfb
mov edx, dword [esp + 0x1c]
push 3
push 0
push 0
push 0x10
push 0x10
mov eax, dword [esp + 0x54]
mov ecx, dword [esi + 4]
mov ebp, dword [sym.imp.USER32.dll_DrawIconEx]
push edx
push eax
push edi
push ecx
call ebp
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esi + 4]
push 3
push 0
push 0
push 0x10
push 0x10
add edi, 0x10
push edx
push eax
push edi
push ecx
call ebp
jmp 0x4a7c22
test ebp, 0x100
je 0x4a7c25
mov edx, dword [esp + 0x1c]
push 3
push 0
push 0
push 0x10
push 0x10
push edx
mov eax, dword [esp + 0x58]
mov ecx, dword [esi + 4]
push eax
push edi
push ecx
call dword [sym.imp.USER32.dll_DrawIconEx]
add edi, 0x10
mov edx, dword [esp + 0x24]
mov ebp, dword [sym.imp.USER32.dll_DestroyIcon]
push edx
call ebp
mov eax, dword [esp + 0x38]
push eax
call ebp
mov ecx, dword [esp + 0x1c]
push ecx
call ebp
mov eax, dword [esp + 0x78]
mov ebp, 1
mov dword [esp + 0x24], 0
mov ecx, dword [eax - 8]
test ecx, ecx
jle 0x4a8336
mov edx, dword [esp + 0x24]
push 1
mov al, byte [edx + eax]
mov byte [esp + 0x108], al
mov ecx, dword [esp + 0x108]
push ecx
lea ecx, [esp + 0x70]
call fcn.005636e2
mov edx, dword [esp + 0x68]
push 0x5e8948
push edx
mov byte [esp + 0x19c], 0x23
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a7d7b
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x18]
add eax, 0x6c
push eax
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a830d
mov ecx, dword [esp + 0x18]
push 0x5fe7d8
push ecx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a830d
test ebp, ebp
jne 0x4a7d44
lea edx, [esp + 0x18]
lea eax, [esp + 0x10c]
push edx
push 0x5e77c0
push eax
call fcn.00568a15
push 0x5e77bc
lea ecx, [esp + 0x12c]
push eax
push ecx
mov byte [esp + 0x1a0], 0x24
call fcn.005689a1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x198], 0x25
call fcn.00568845
lea ecx, [esp + 0x128]
mov byte [esp + 0x194], 0x24
call fcn.0056870c
lea ecx, [esp + 0x10c]
mov byte [esp + 0x194], 0x23
call fcn.0056870c
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebx + 0xb8]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x58], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x58], edi
call dword [eax + 0x30]
jmp 0x4a82d6
mov eax, dword [esp + 0x68]
push 0x5efa00
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a7e68
mov ecx, dword [esp + 0x20]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a830d
mov edx, dword [esp + 0x18]
push 0x5fe7d8
push edx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a830d
test ebp, ebp
jne 0x4a7e37
lea eax, [esp + 0x18]
lea ecx, [esp + 0xc4]
push eax
push 0x5e77c0
push ecx
call fcn.00568a15
push 0x5e77bc
lea edx, [esp + 0x13c]
push eax
push edx
mov byte [esp + 0x1a0], 0x26
call fcn.005689a1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x198], 0x27
call fcn.00568845
lea ecx, [esp + 0x138]
mov byte [esp + 0x194], 0x26
call fcn.0056870c
lea ecx, [esp + 0xc4]
mov byte [esp + 0x194], 0x23
call fcn.0056870c
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x5c], edx
mov edx, dword [esi]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0xd0]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edi
jmp 0x4a82d0
mov eax, dword [esp + 0x68]
push 0x5eaa44
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a800a
mov ecx, dword [0x5f9f88]
mov dword [esp + 0x64], 1
mov dword [esp + 0x50], ecx
mov eax, dword [ebx + 0xd8]
mov byte [esp + 0x194], 0x28
test eax, eax
je 0x4a7f2a
mov edx, dword [esp + 0x20]
mov dword [esp + 0x1c], 0x5fe7d8
lea eax, [edx + 0x104]
mov cl, byte [eax]
mov edx, dword [esp + 0x1c]
mov byte [esp + 0x17], cl
cmp cl, byte [edx]
jne 0x4a7eec
test cl, cl
je 0x4a7ee8
mov cl, byte [eax + 1]
mov byte [esp + 0x17], cl
cmp cl, byte [edx + 1]
jne 0x4a7eec
add eax, 2
add edx, 2
test cl, cl
mov dword [esp + 0x1c], edx
jne 0x4a7ebc
xor eax, eax
jmp 0x4a7ef1
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4a7f2a
call fcn.00578d59
mov edx, dword [esp + 0x20]
mov eax, dword [eax + 4]
lea ecx, [esp + 0x50]
push ecx
lea ecx, [edx + 0x104]
push ecx
mov ecx, dword [eax + 0x13c]
add ecx, 0x5b24
call fcn.005672cc
test eax, eax
je 0x4a7f2a
mov dword [esp + 0x64], 0
test ebp, ebp
je 0x4a7f42
mov eax, dword [esp + 0x20]
lea ecx, [esp + 0x18]
add eax, 0x32
push eax
push 0x5e8828
push ecx
jmp 0x4a7f54
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x18]
add edx, 0x32
push edx
push 0x5f0658
push eax
call fcn.00563eb4
mov eax, dword [esp + 0x70]
add esp, 0xc
test eax, eax
je 0x4a7ff4
cmp edi, dword [esp + 0x44]
jge 0x4a7ff4
mov ecx, dword [esp + 0x18]
push 0x5fe7d8
push ecx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a7ff4
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebx + 0xbc]
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x58], eax
mov eax, dword [esi]
push ecx
mov ecx, esi
mov dword [esp + 0x64], edx
mov dword [esp + 0x58], edi
call dword [eax + 0x30]
mov eax, dword [esp + 0x18]
mov edx, dword [esi]
lea edi, [esp + 0x54]
push 0x424
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov eax, dword [esp + 0x18]
mov edx, dword [esi]
lea edi, [esp + 0x54]
push 0x24
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov edi, dword [esp + 0x5c]
mov ebp, 1
lea ecx, [esp + 0x50]
mov byte [esp + 0x194], 0x23
call fcn.0056870c
jmp 0x4a830d
mov eax, dword [esp + 0x68]
push 0x5eaa38
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a80ef
cmp edi, dword [esp + 0x44]
jge 0x4a830d
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x64]
push edx
call sub.WSOCK32.dll_inet_ntoa
push eax
lea eax, [esp + 0x1c]
push 0x5e8828
push eax
call fcn.00563eb4
add esp, 0xc
test ebp, ebp
jne 0x4a80be
lea ecx, [esp + 0x18]
lea edx, [esp + 0xd4]
push ecx
push 0x5e77c0
push edx
call fcn.00568a15
push 0x5e77bc
push eax
lea eax, [esp + 0xd4]
mov byte [esp + 0x19c], 0x29
push eax
call fcn.005689a1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x198], 0x2a
call fcn.00568845
lea ecx, [esp + 0xcc]
mov byte [esp + 0x194], 0x29
call fcn.0056870c
lea ecx, [esp + 0xd4]
mov byte [esp + 0x194], 0x23
call fcn.0056870c
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x54], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x58], edx
mov edx, dword [esi]
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0xc4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x54], edi
jmp 0x4a82d0
mov eax, dword [esp + 0x68]
push 0x5ef9fc
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a81e2
mov ecx, dword [esp + 0x20]
add ecx, 0x9e
push ecx
lea ecx, [esp + 0x1c]
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a830d
mov edx, dword [esp + 0x18]
push 0x5fe7d8
push edx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a830d
test ebp, ebp
jne 0x4a81b1
lea eax, [esp + 0x18]
lea ecx, [esp + 0xe4]
push eax
push 0x5e77c0
push ecx
call fcn.00568a15
push 0x5e77bc
lea edx, [esp + 0xe0]
push eax
push edx
mov byte [esp + 0x1a0], 0x2b
call fcn.005689a1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x198], 0x2c
call fcn.00568845
lea ecx, [esp + 0xdc]
mov byte [esp + 0x194], 0x2b
call fcn.0056870c
lea ecx, [esp + 0xe4]
mov byte [esp + 0x194], 0x23
call fcn.0056870c
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x5c], edx
mov edx, dword [esi]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0xd4]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edi
jmp 0x4a82d0
mov eax, dword [esp + 0x68]
push 0x5ef9f8
push eax
call fcn.005503ed
add esp, 8
test eax, eax
jne 0x4a830d
mov ecx, dword [esp + 0x20]
add ecx, 0x120
push ecx
lea ecx, [esp + 0x1c]
call fcn.00568895
cmp edi, dword [esp + 0x44]
jge 0x4a830d
mov edx, dword [esp + 0x18]
push 0x5fe7d8
push edx
call fcn.005503ed
add esp, 8
test eax, eax
je 0x4a830d
test ebp, ebp
jne 0x4a82a4
lea eax, [esp + 0x18]
lea ecx, [esp + 0xf4]
push eax
push 0x5e77c0
push ecx
call fcn.00568a15
push 0x5e77bc
lea edx, [esp + 0xf0]
push eax
push edx
mov byte [esp + 0x1a0], 0x2d
call fcn.005689a1
push eax
lea ecx, [esp + 0x1c]
mov byte [esp + 0x198], 0x2e
call fcn.00568845
lea ecx, [esp + 0xec]
mov byte [esp + 0x194], 0x2d
call fcn.0056870c
lea ecx, [esp + 0xf4]
mov byte [esp + 0x194], 0x23
call fcn.0056870c
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x5c], edx
mov edx, dword [esi]
mov dword [esp + 0x60], eax
mov eax, dword [ebx + 0xc0]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x54], edi
push eax
mov ecx, esi
call dword [edx + 0x30]
mov eax, dword [esp + 0x18]
mov edx, dword [esi]
lea edi, [esp + 0x54]
push 0x424
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov eax, dword [esp + 0x18]
mov edx, dword [esi]
lea edi, [esp + 0x54]
push 0x24
mov ecx, dword [eax - 8]
push edi
push ecx
push eax
mov ecx, esi
call dword [edx + 0x68]
mov edi, dword [esp + 0x5c]
xor ebp, ebp
lea ecx, [esp + 0x68]
mov byte [esp + 0x194], 0x22
call fcn.0056870c
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x24]
inc ecx
mov edx, dword [eax - 8]
mov dword [esp + 0x24], ecx
cmp ecx, edx
jl 0x4a7c5c
lea ecx, [esp + 0x18]
mov byte [esp + 0x194], 0x21
call fcn.0056870c
lea ecx, [esp + 0x78]
mov byte [esp + 0x194], 5
call fcn.0056870c
jmp 0x4a66e6