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

Disassembly:
push 0xffffffffffffffff
push 0x5cfbc7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xe8
mov eax, dword [0x64aa84]
push ebx
push ebp
push esi
push edi
push 5
mov dword [esp + 0xf8], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], 0
call dword [sym.imp.USER32.dll_GetSysColor]
mov ebp, dword [esp + 0x110]
test byte [ebp + 0x28], 2
je 0x49c823
mov eax, dword [0x652f00]
jmp 0x49c836
mov ecx, dword [esp + 0x114]
test ecx, ecx
mov dword [esp + 0x24], 0xf5f5f5
jne 0x49c83a
mov dword [esp + 0x24], eax
mov esi, dword [esp + 0x108]
mov eax, dword [esp + 0x24]
mov edx, dword [esi]
push eax
mov ecx, esi
call dword [edx + 0x2c]
push 2
mov ecx, esi
call fcn.005b38b7
mov edx, dword [esi]
push 0x7f00
mov ecx, esi
call dword [edx + 0x30]
mov ebx, dword [esp + 0x10c]
mov eax, dword [ebx + 8]
mov ecx, dword [ebx]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x44], eax
xor eax, eax
mov ecx, 0xb
lea edi, [esp + 0xac]
rep stosd dword es:[edi], eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esp + 0xac], 0xc
call fcn.005afeed
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x2c], eax
mov dword [esp + 0x100], 1
mov edx, dword [esp + 0x30]
mov eax, 0x2d002d
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], eax
mov word [esp + 0xf0], ax
xor eax, eax
lea ecx, [esp + 0xac]
push ecx
push eax
mov word [esp + 0xf8], ax
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0x6c]
push 0x120b
push eax
call dword [0x652d5c]
test eax, eax
je 0x49daea
mov edi, edi
call fcn.005afeed
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x10], eax
mov byte [esp + 0x100], 3
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x14]
push eax
mov eax, dword [edx + 0x6c]
push ecx
push 0x1207
push eax
call dword [0x652d5c]
mov ecx, dword [esp + 0x10c]
mov eax, dword [ecx]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
add edx, eax
add esi, eax
mov eax, dword [ecx + 0xc]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x1c], edx
mov edx, dword [ecx + 4]
dec eax
cmp eax, 0xb
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edx
ja case.default.0x49c994
jmp dword [eax*4 + 0x49db78]
mov ecx, dword [ebp + 0xb8]
mov edx, dword [ecx - 0xc]
test edx, edx
lea eax, [ebp + 0xb8]
jle 0x49c9bd
push eax
lea ecx, [esp + 0x14]
call fcn.00405540
jmp case.default.0x49c994
mov edx, dword [0x6613bc]
mov eax, dword [edx + 8]
test eax, eax
jne 0x49c9eb
push 0x5e3a20
call fcn.0057a0fd
add esp, 4
push eax
push 0x5e3a20
lea ecx, [esp + 0x18]
call fcn.004053c0
jmp case.default.0x49c994
mov esi, dword [ebp + 0x14]
test esi, esi
je case.default.0x49c994
cmp dword [esi + 0x7c0], 7
jne case.default.0x49c994
mov eax, dword [esi + 0x7c4]
mov ecx, dword [eax + 0x2dc]
mov eax, dword [esi + 0x8a4]
imul eax, eax, 0x64
xor edx, edx
div ecx
xor edx, edx
push eax
mov eax, dword [esi + 0x8a8]
imul eax, eax, 0x64
div ecx
lea ecx, [esp + 0x14]
push eax
push str.d_02d_u_02d
push ecx
call fcn.0040a170
mov esi, dword [esi + 0x8ac]
add esp, 0x10
test esi, esi
je case.default.0x49c994
mov ecx, dword [0x6613bc]
push 0
push 0
push 0
push esi
lea edx, [esp + 0x6c]
push edx
call fcn.004b3500
mov byte [esp + 0x100], 4
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00403130
mov byte [esp + 0x100], 3
lea ecx, [esp + 0x5c]
call fcn.00401b70
push 0x5f1a24
lea ecx, [esp + 0x14]
call fcn.004031d0
jmp case.default.0x49c994
mov eax, dword [0x6613bc]
mov ecx, dword [eax + 0x458]
test ecx, ecx
jne 0x49cb6f
mov ecx, dword [eax + 0x370]
test ecx, ecx
jne 0x49cb6f
mov eax, dword [ebp + 0xc4]
mov ecx, dword [eax - 0xc]
test ecx, ecx
lea esi, [ebp + 0xc4]
je 0x49cae1
push esi
lea ecx, [esp + 0x14]
call fcn.00405540
jmp case.default.0x49c994
mov eax, dword [ebp + 0x28]
mov edi, 0x8000000
test edi, eax
mov eax, 0x5f1a1c
jne 0x49caf7
mov eax, 0x5f1a14
movzx ecx, byte [ebp + 0x45]
mov edx, dword [ebp + 0x44]
push ecx
and edx, 0xff
push edx
push eax
lea eax, [esp + 0x1c]
push str._s_u._u.x.x
push eax
call fcn.0040a170
mov eax, dword [ebp + 0x28]
add esp, 0x14
test edi, eax
jne 0x49cb5e
mov ecx, dword [ebp + 0x44]
push ecx
lea edx, [esp + 0x5c]
push edx
call fcn.0041bde0
mov ecx, eax
call fcn.004828d0
mov byte [esp + 0x100], 5
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00403130
mov byte [esp + 0x100], 3
lea ecx, [esp + 0x58]
call fcn.00401b70
lea eax, [esp + 0x10]
push eax
mov ecx, esi
call fcn.00405540
jmp case.default.0x49c994
test dword [ebp + 0x28], 0x8000000
jne 0x49cbaf
movzx ecx, word [ebp + 0x48]
movzx edx, byte [ebp + 0x47]
movzx eax, byte [ebp + 0x46]
push ecx
movzx ecx, byte [ebp + 0x45]
push edx
mov edx, dword [ebp + 0x44]
push eax
push ecx
and edx, 0xff
push edx
push 0x5f1a14
lea eax, [esp + 0x28]
push 0x5f19d8
push eax
call fcn.0040a170
add esp, 0x20
jmp 0x49cbcb
push 0x5e6fc8
call fcn.0057a0fd
add esp, 4
push eax
push 0x5e6fc8
lea ecx, [esp + 0x18]
call fcn.004053c0
lea edx, [esp + 0x10]
lea ecx, [ebp + 0xc4]
push edx
call fcn.00405540
mov eax, dword [0x6613bc]
mov ecx, dword [eax + 0x370]
test ecx, ecx
je case.default.0x49c994
mov ecx, dword [ebp + 0xc8]
mov eax, dword [ecx - 0xc]
test eax, eax
jle 0x49cc47
push 0x5e6854
call fcn.0057a0fd
add esp, 4
push eax
push 0x5e6854
lea ecx, [esp + 0x18]
call fcn.004053c0
mov eax, dword [ebp + 0xc8]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00403130
push 0x5f19d4
call fcn.0057a0fd
add esp, 4
push eax
push 0x5f19d4
lea ecx, [esp + 0x18]
call fcn.00403130
mov edx, dword [ebp + 0xcc]
mov eax, dword [edx - 0xc]
test eax, eax
jle case.default.0x49c994
push 0x5e6854
call fcn.0057a0fd
add esp, 4
push eax
push 0x5e6854
lea ecx, [esp + 0x18]
call fcn.00403130
mov eax, dword [ebp + 0xcc]
mov ecx, dword [eax - 0xc]
push ecx
push eax
lea ecx, [esp + 0x18]
call fcn.00403130
push 0x5f19d4
call fcn.0057a0fd
add esp, 4
push eax
push 0x5f19d4
lea ecx, [esp + 0x18]
call fcn.00403130
jmp case.default.0x49c994
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je case.default.0x49c994
mov eax, dword [ecx]
push 0
lea edx, [esp + 0x58]
push edx
call dword [eax + 0x78]
mov byte [esp + 0x100], 6
push eax
lea ecx, [esp + 0x14]
call fcn.00405540
mov byte [esp + 0x100], 3
lea ecx, [esp + 0x54]
call fcn.00401b70
mov eax, dword [ebp + 0x14]
cmp dword [eax + 0x7c0], 3
jne case.default.0x49c994
mov ecx, dword [eax + 0x870]
test ecx, ecx
je case.default.0x49c994
cmp dword [eax + 0x748], 5
jne case.default.0x49c994
push str._Obfucation_
lea ecx, [esp + 0x14]
call fcn.004031d0
jmp case.default.0x49c994
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x49cd59
xor ecx, ecx
lea ebx, [ebx]
mov edx, dword [eax + 0x7e4]
cmp edx, 2
je 0x49cd40
cmp edx, 4
jne 0x49cd46
add ecx, dword [eax + 0x844]
mov eax, dword [eax + 0x7d4]
test eax, eax
jne 0x49cd30
shr ecx, 0xa
push ecx
jmp 0x49d673
push str.0_KB_s
call fcn.0057a0fd
add esp, 4
push eax
push str.0_KB_s
lea ecx, [esp + 0x18]
call fcn.004053c0
jmp case.default.0x49c994
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x49cdcb
mov ecx, dword [eax + 0x814]
mov edx, dword [eax + 0x810]
push 0
push 0
push ecx
mov ecx, dword [0x6613bc]
push edx
lea eax, [esp + 0x70]
push eax
call fcn.004b3500
mov byte [esp + 0x100], 7
push eax
lea ecx, [esp + 0x14]
call fcn.00405540
mov byte [esp + 0x100], 3
lea ecx, [esp + 0x60]
call fcn.00401b70
jmp case.default.0x49c994
push str.0_KB
call fcn.0057a0fd
add esp, 4
push eax
push str.0_KB
lea ecx, [esp + 0x18]
call fcn.004053c0
jmp case.default.0x49c994
cmp dword [ebp + 0x2c], 5
lea edx, [esp + 0x10]
jne 0x49ce0d
mov ecx, dword [ebp + 0x1c]
push ecx
push 0x5e3b88
push edx
call fcn.0040a170
add esp, 0xc
jmp case.default.0x49c994
mov eax, dword [ebp + 0xac]
mov ecx, dword [ebp + 0xa8]
push eax
push ecx
push str._u_u
push edx
call fcn.0040a170
add esp, 0x10
jmp case.default.0x49c994
mov eax, dword [ebp + 0xb4]
push eax
lea ecx, [esp + 0x14]
push 0x5e9758
push ecx
call fcn.0040a170
add esp, 0xc
jmp case.default.0x49c994
mov eax, dword [ebp + 0x40]
xor ecx, ecx
and eax, 0x10ffff
je 0x49ce5f
shr eax, 1
inc ecx
test eax, eax
jne 0x49ce58
mov esi, dword [ecx*4 + 0x6428e8]
test esi, esi
jne 0x49ce7c
xor eax, eax
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.004053c0
jmp case.default.0x49c994
push esi
call fcn.0057a0fd
add esp, 4
push eax
push esi
lea ecx, [esp + 0x18]
call fcn.004053c0
jmp case.default.0x49c994
mov eax, dword [ebp + 0x2c]
cmp eax, 3
jne 0x49cfc7
mov dl, byte [ebp + 0x74]
and dl, al
movzx ax, dl
add eax, 0x30
mov word [esp + 0xe8], ax
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x49d31a
mov ecx, dword [eax + 0x870]
mov ecx, dword [ecx + 0x44]
dec ecx
cmp ecx, 7
ja case.default.0x49ced3
jmp dword [ecx*4 + 0x49dba8]
mov word [esp + 0xe0], 0x54
jmp 0x49cf6d
mov word [esp + 0xe0], 0x55
jmp 0x49cf6d
mov word [esp + 0xe0], 0x54
mov word [esp + 0xe2], 0x43
jmp case.default.0x49ced3
mov word [esp + 0xe0], 0x55
mov word [esp + 0xe2], 0x43
jmp case.default.0x49ced3
mov word [esp + 0xe0], 0x54
mov word [esp + 0xe2], 0x41
jmp case.default.0x49ced3
mov word [esp + 0xe0], 0x55
mov word [esp + 0xe2], 0x41
jmp case.default.0x49ced3
mov word [esp + 0xe0], 0x43
mov word [esp + 0xe2], 0x41
jmp case.default.0x49ced3
mov word [esp + 0xe0], 0x43
mov word [esp + 0xe2], 0x50
mov ecx, dword [eax + 0x870]
test ecx, ecx
je 0x49cf94
cmp dword [ecx + 0x748], 5
jne 0x49cf94
mov word [esp + 0xea], 0x45
mov eax, dword [eax + 0x870]
test eax, eax
je 0x49d31a
mov ecx, dword [eax + 0x2c]
test ecx, ecx
je 0x49d31a
mov edx, dword [eax + 8]
neg edx
sbb edx, edx
and edx, 0xfffffffa
add edx, 0x4f
mov word [esp + 0xec], dx
jmp 0x49d31a
cmp eax, 4
jne 0x49d11b
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x49d31a
mov eax, dword [ecx + 0x874]
test eax, eax
je case.default.0x49cff6
mov eax, dword [eax + 0x44]
dec eax
cmp eax, 7
ja case.default.0x49cff6
jmp dword [eax*4 + 0x49dbc8]
mov word [esp + 0xe0], 0x54
jmp 0x49d090
mov word [esp + 0xe0], 0x55
jmp 0x49d090
mov word [esp + 0xe0], 0x54
mov word [esp + 0xe2], 0x43
jmp case.default.0x49cff6
mov word [esp + 0xe0], 0x55
mov word [esp + 0xe2], 0x43
jmp case.default.0x49cff6
mov word [esp + 0xe0], 0x54
mov word [esp + 0xe2], 0x41
jmp case.default.0x49cff6
mov word [esp + 0xe0], 0x55
mov word [esp + 0xe2], 0x41
jmp case.default.0x49cff6
mov word [esp + 0xe0], 0x43
mov word [esp + 0xe2], 0x41
jmp case.default.0x49cff6
mov word [esp + 0xe0], 0x43
mov word [esp + 0xe2], 0x50
mov eax, dword [ecx + 0x874]
test eax, eax
je 0x49d31a
mov edx, dword [eax + 0x2c]
test edx, edx
je 0x49d31a
mov edx, dword [eax + 0x728]
test edx, edx
je 0x49d0d1
mov edx, dword [eax + 0x72c]
test edx, edx
je 0x49d0d1
mov word [esp + 0xea], 0x45
mov eax, dword [ecx + 0x874]
mov edx, dword [eax + 8]
neg edx
sbb edx, edx
and edx, 0xfffffffa
add edx, 0x4f
mov word [esp + 0xec], dx
mov eax, dword [ecx + 0x874]
mov edx, dword [eax + 4]
test edx, edx
je 0x49d103
mov word [esp + 0xd8], 0x55
mov cx, word [ecx + 0x7e0]
add cx, 0x30
mov word [esp + 0xe8], cx
jmp 0x49d31a
cmp eax, 7
jne 0x49d31a
mov esi, dword [ebp + 0x14]
test esi, esi
je 0x49d31a
mov eax, dword [esi + 0x870]
xor edi, edi
test eax, eax
mov ebx, eax
je 0x49d149
mov eax, dword [eax + 0x7e0]
test eax, eax
je 0x49d149
mov edi, eax
cmp dword [esi + 0x7e4], 4
jne 0x49d16a
cmp dword [esi + 0x844], 0x200
jbe 0x49d16a
mov word [esp + 0xd8], 0x44
jmp 0x49d188
mov eax, dword [esi + 0x87c]
test eax, eax
je 0x49d188
mov eax, dword [esi + 0x874]
test eax, eax
je 0x49d188
mov word [esp + 0xd8], 0x64
test edi, edi
je 0x49d1eb
cmp dword [edi + 0x7c4], 6
jne 0x49d1af
mov edx, dword [edi]
mov ecx, edi
call dword [edx + 0x70]
cmp eax, 0x200
jbe 0x49d1af
mov word [esp + 0xda], 0x55
jmp 0x49d1cd
mov eax, dword [edi + 0x8d8]
test eax, eax
je 0x49d1d7
mov eax, dword [edi + 0x8d4]
test eax, eax
je 0x49d1cd
mov word [esp + 0xda], 0x75
mov eax, dword [edi + 0x8d8]
test eax, eax
jne 0x49d1eb
mov eax, dword [edi + 0x8d4]
test eax, eax
jne 0x49d1eb
mov word [esp + 0xdc], 0x6b
mov eax, dword [esi + 0x874]
test eax, eax
jne 0x49d209
mov eax, dword [esi + 0x87c]
test eax, eax
jne 0x49d209
mov word [esp + 0xde], 0x4b
mov eax, dword [esi + 0x870]
test eax, eax
je case.default.0x49d21c
mov eax, dword [eax + 0x44]
dec eax
cmp eax, 5
ja case.default.0x49d21c
jmp dword [eax*4 + 0x49dbe8]
mov word [esp + 0xe0], 0x54
mov word [esp + 0xe2], 0x50
jmp case.default.0x49d21c
mov word [esp + 0xe2], 0x50
jmp 0x49d287
mov word [esp + 0xe0], 0x54
mov word [esp + 0xe2], 0x43
jmp case.default.0x49d21c
mov word [esp + 0xe2], 0x43
jmp 0x49d287
mov word [esp + 0xe0], 0x54
mov word [esp + 0xe2], 0x41
jmp case.default.0x49d21c
mov word [esp + 0xe2], 0x41
mov word [esp + 0xe0], 0x55
test edi, edi
je 0x49d2a9
mov al, byte [edi + 0x8d0]
test al, al
je 0x49d2a9
mov word [esp + 0xe4], 0x4f
mov al, byte [esi + 0x878]
test al, al
je 0x49d2bd
mov word [esp + 0xe6], 0x53
mov ax, word [esi + 0x7e0]
add ax, 0x30
test ebx, ebx
mov word [esp + 0xe8], ax
je 0x49d2ee
mov eax, dword [ebx + 0x808]
cmp eax, 7
je 0x49d2e4
cmp eax, 0xd
jne 0x49d2ee
mov word [esp + 0xea], 0x45
test edi, edi
je 0x49d31a
mov eax, dword [edi + 0x8d4]
test eax, eax
je 0x49d306
mov word [esp + 0xec], 0x49
mov eax, dword [edi + 0x8d8]
test eax, eax
jne 0x49d31a
mov word [esp + 0xee], 0x23
lea ecx, [esp + 0xd8]
push ecx
call fcn.0057a0fd
add esp, 4
push eax
lea edx, [esp + 0xdc]
push edx
lea ecx, [esp + 0x18]
call fcn.004053c0
jmp case.default.0x49c994
push 0x5e3a20
call fcn.0057a0fd
add esp, 4
push eax
push 0x5e3a20
lea ecx, [esp + 0x34]
call fcn.004053c0
mov ecx, dword [ebp + 0x14]
xor edx, edx
cmp ecx, edx
je 0x49d526
mov eax, dword [ebp + 0x2c]
cmp eax, 4
jne 0x49d3cd
mov eax, dword [ecx + 0x834]
fild dword [ecx + 0x834]
test eax, eax
jge 0x49d388
fadd qword [0x5e7070]
mov ecx, dword [ebp + 8]
fmul qword [0x5e7068]
mov esi, dword [ecx + 0x20]
mov eax, dword [ecx + 0x24]
mov ecx, eax
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], eax
fild qword [esp + 0x7c]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x94], edx
fild qword [esp + 0x94]
jmp 0x49d4a6
cmp eax, 3
jne 0x49d427
mov eax, dword [ecx + 0x834]
fild dword [ecx + 0x834]
test eax, eax
jge 0x49d3e8
fadd qword [0x5e7070]
mov ecx, dword [ebp + 8]
fmul qword [0x5e7060]
mov esi, dword [ecx + 0x20]
mov eax, dword [ecx + 0x24]
mov ecx, eax
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], eax
fild qword [esp + 0xa4]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x64], edx
fild qword [esp + 0x64]
jmp 0x49d4a6
cmp eax, 7
jne 0x49d4bd
mov eax, dword [ebp + 8]
mov esi, dword [eax + 0x2d8]
fild dword [eax + 0x2d8]
test esi, esi
jge 0x49d449
fadd qword [0x5e7070]
mov ecx, dword [ecx + 0x834]
test ecx, ecx
mov dword [esp + 0x3c], ecx
fild dword [esp + 0x3c]
jge 0x49d461
fadd qword [0x5e7070]
mov ecx, dword [eax + 0x20]
fmulp st(1)
mov eax, dword [eax + 0x24]
mov dword [esp + 0x9c], ecx
fmul qword [0x5e7058]
mov ecx, eax
and eax, 0x7fffffff
and ecx, 0x80000000
mov dword [esp + 0xa0], eax
fild qword [esp + 0x9c]
mov dword [esp + 0x90], ecx
mov dword [esp + 0x8c], edx
fild qword [esp + 0x8c]
fchs
faddp st(1)
fdivp st(1)
fld dword [0x5e2eb8]
fcomp st(1)
fnstsw ax
test ah, 5
jp 0x49d4c3
fstp st(0)
fld dword [0x5e2eb8]
mov ecx, dword [ebp + 0x28]
test ch, ch
js 0x49d4df
fcom qword [0x5e7050]
fnstsw ax
test ah, 0x41
jne 0x49d4df
or ecx, 0x8000
jmp 0x49d4e5
and ecx, 0xffff7fff
fld st(0)
mov dword [ebp + 0x28], ecx
fabs
fcomp qword [0x5f1988]
fnstsw ax
test ah, 0x41
jne 0x49d524
sub esp, 8
fstp qword [esp]
lea edx, [esp + 0x34]
push str._4.1f__
push edx
call fcn.0040a170
add esp, 0x10
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x14]
call fcn.00405540
jmp case.default.0x49c994
fstp st(0)
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x14]
call fcn.00405540
jmp case.default.0x49c994
mov ecx, dword [ebp + 0x2c]
cmp ecx, 7
jne 0x49d5d6
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x49d5d6
mov eax, dword [eax + 0x870]
test eax, eax
je case.default.0x49c994
mov esi, dword [eax + 0x7e0]
test esi, esi
je case.default.0x49c994
mov eax, dword [esi + 0x8d4]
test eax, eax
jne 0x49d589
push 0x5e7bc4
lea ecx, [esp + 0x14]
call fcn.004055d0
jmp case.default.0x49c994
mov eax, dword [esi + 0x8d8]
test eax, eax
je 0x49d5a6
push 0x5e7bbc
lea ecx, [esp + 0x14]
call fcn.004055d0
jmp case.default.0x49c994
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x70]
test eax, eax
ja 0x49d66f
mov eax, dword [esi + 0x7d4]
test eax, eax
jne case.default.0x49c994
push 0x5ea818
lea ecx, [esp + 0x14]
call fcn.004055d0
jmp case.default.0x49c994
cmp ecx, 5
jne 0x49d5f6
mov eax, dword [ebp + 0x14]
test eax, eax
je 0x49d5f6
add eax, 0x8f4
push eax
lea ecx, [esp + 0x14]
call fcn.00405540
jmp case.default.0x49c994
cmp ecx, 4
jne case.default.0x49c994
mov eax, dword [ebp + 0x14]
test eax, eax
je case.default.0x49c994
mov eax, dword [eax + 0x874]
test eax, eax
je case.default.0x49c994
mov esi, dword [eax + 0x85c]
test esi, esi
je case.default.0x49c994
mov eax, dword [esi + 0x8e8]
test eax, eax
jne 0x49d643
push 0x5e7bc4
lea ecx, [esp + 0x14]
call fcn.004055d0
jmp case.default.0x49c994
mov eax, dword [esi + 0x8ec]
test eax, eax
je 0x49d660
push 0x5e7bbc
lea ecx, [esp + 0x14]
call fcn.004055d0
jmp case.default.0x49c994
mov edx, dword [esi]
mov ecx, esi
call dword [edx + 0x70]
test eax, eax
jbe 0x49d5b5
shr eax, 0xa
push eax
lea eax, [esp + 0x14]
push str._u_KB_s
push eax
call fcn.0040a170
add esp, 0xc
jmp case.default.0x49c994
mov ecx, dword [0x6613bc]
mov eax, dword [ecx + 0x458]
test eax, eax
je 0x49d6e8
cmp word [ebp + 0x50], 0
je 0x49d6e8
mov edx, dword [ebp + 0x4c]
push edx
call dword [sym.imp.WS2_32.dll_inet_ntoa]
push eax
lea ecx, [esp + 0x50]
call fcn.00411760
mov byte [esp + 0x100], 8
movzx ecx, word [ebp + 0x50]
mov edx, dword [eax]
push ecx
push edx
lea eax, [esp + 0x18]
push str._s:_d
push eax
call fcn.0040a170
add esp, 0x10
mov byte [esp + 0x100], 3
lea ecx, [esp + 0x4c]
call fcn.00401b70
cmp dword [ebp + 0x2c], 7
jne case.default.0x49c994
mov eax, dword [ebp + 0x14]
test eax, eax
je case.default.0x49c994
mov esi, dword [eax + 0x7dc]
test esi, esi
je case.default.0x49c994
call fcn.005afeed
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [esp + 0x48], eax
mov byte [esp + 0x100], 0xa
mov eax, dword [esi + 8]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0xc]
mov edi, dword [esi + 0x14]
add edx, eax
adc edi, ecx
push edi
push edx
push ecx
push eax
lea eax, [esp + 0x58]
push str.__I64i__I64i
push eax
call fcn.0040a170
mov edi, dword [esp + 0x60]
mov eax, dword [edi - 0xc]
add esp, 0x18
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.00403130
mov byte [esp + 0x100], 3
lea eax, [edi - 0x10]
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49d77c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov esi, dword [esi + 4]
test esi, esi
jne 0x49d707
mov ecx, dword [esp + 0x14]
cmp dword [esp + 0x44], ecx
jl 0x49d791
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x34], eax
jg 0x49d79f
mov dword [esp + 0x34], eax
mov edx, dword [esp + 0x10]
sub eax, ecx
cmp eax, 8
jge 0x49d7fc
mov ecx, dword [edx - 0xc]
test ecx, ecx
mov esi, dword [edx - 0x10]
lea eax, [edx - 0x10]
je 0x49d7fc
mov edi, dword [eax + 0xc]
test edi, edi
lea ecx, [eax + 0xc]
jge 0x49d7da
mov eax, dword [edx - 8]
test eax, eax
jl 0x49db6c
mov dword [edx - 0xc], 0
mov word [edx], 0
jmp 0x49d7fc
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49d7ee
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0xc]
lea edx, [eax + 0x10]
mov dword [esp + 0x10], edx
mov eax, dword [edx - 0xc]
lea ecx, [esp + 0x6c]
push ecx
push eax
push edx
mov edx, dword [esp + 0x114]
mov eax, dword [edx + 8]
push eax
call dword [0x652b60]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
sub edx, edi
sub edx, 8
cmp eax, edx
mov dword [esp + 0x40], ecx
jle 0x49d961
jmp 0x49d840
push 0x5e68e0
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x58]
push ecx
call fcn.0040dc60
add esp, 0xc
mov byte [esp + 0x100], 0xc
mov eax, dword [eax]
mov ecx, dword [eax - 0xc]
mov edi, dword [esp + 0x28]
lea edx, [esp + 0x74]
push edx
push ecx
push eax
mov eax, dword [esp + 0x114]
mov ecx, dword [eax + 8]
or edi, 1
push ecx
mov dword [esp + 0x38], edi
call dword [0x652b60]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x78]
sub ecx, edi
sub ecx, 8
cmp eax, ecx
mov dword [esp + 0x40], edx
jle 0x49d8b3
mov edx, dword [esp + 0x10]
mov eax, dword [edx - 0xc]
test eax, eax
jle 0x49d8b3
mov bl, 1
jmp 0x49d8b5
xor bl, bl
mov dword [esp + 0x100], 3
test byte [esp + 0x28], 1
je 0x49d8f2
and dword [esp + 0x28], 0xfffffffe
mov byte [esp + 0x100], 3
mov eax, dword [esp + 0x50]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49d8f2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
test bl, bl
mov eax, dword [esp + 0x10]
je 0x49d93e
mov edx, dword [eax - 4]
mov esi, dword [eax - 0xc]
mov ecx, 1
sub ecx, edx
mov edx, dword [eax - 8]
dec esi
sub edx, esi
or ecx, edx
jge 0x49d91f
push esi
lea ecx, [esp + 0x14]
call fcn.00402690
mov eax, dword [esp + 0x10]
test esi, esi
jl 0x49db6c
cmp esi, dword [eax - 8]
jg 0x49db6c
mov dword [eax - 0xc], esi
mov word [eax + esi*2], 0
jmp 0x49d840
mov ecx, dword [eax - 0xc]
test ecx, ecx
jle 0x49d961
push 0x5e68e0
call fcn.0057a0fd
add esp, 4
push eax
push 0x5e68e0
lea ecx, [esp + 0x18]
call fcn.00403130
mov edi, dword [esp + 0x10]
mov eax, dword [edi - 0xc]
mov ebx, dword [esp + 0x108]
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x84]
push ecx
push eax
push edi
push edx
call dword [0x652b60]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xc0]
and eax, 3
dec eax
je 0x49d9ca
dec eax
je 0x49d9ae
mov esi, dword [esp + 0x14]
add esi, 4
jmp 0x49d9d3
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add eax, edx
cdq
sub eax, edx
mov esi, eax
mov eax, ecx
cdq
sub eax, edx
sar esi, 1
sar eax, 1
sub esi, eax
jmp 0x49d9d3
mov esi, dword [esp + 0x1c]
sub esi, ecx
sub esi, 4
mov eax, dword [esp + 0x24]
mov edx, dword [ebx]
push eax
mov ecx, ebx
call dword [edx + 0x2c]
mov edx, dword [ebx]
push 0
mov ecx, ebx
call dword [edx + 0x30]
cmp dword [esp + 0xc4], 1
jne 0x49da69
mov eax, dword [0x6613bc]
mov ecx, dword [eax + 0x450]
mov edx, dword [ecx - 0xc]
test edx, edx
jle 0x49da69
mov edx, dword [eax + 0x44c]
mov eax, dword [edx - 0xc]
test eax, eax
jle 0x49da69
mov ebx, dword [esp + 0x108]
mov eax, dword [ebx]
push 0x652ed4
mov ecx, ebx
call dword [eax + 0x28]
mov edx, dword [ebx]
push 0xff0000
mov ecx, ebx
mov edi, eax
call dword [edx + 0x30]
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 0xc]
push 0
push eax
push ecx
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x20]
push eax
push 6
add ecx, 2
push ecx
push esi
push ebx
call fcn.004abdb0
mov edx, dword [ebx]
add esp, 0x20
push edi
mov ecx, ebx
call dword [edx + 0x28]
mov eax, dword [ebx]
push 0
mov ecx, ebx
call dword [eax + 0x30]
jmp 0x49da89
mov eax, dword [edi - 0xc]
mov edx, dword [esp + 0x18]
push 0
push eax
push edi
lea ecx, [esp + 0x20]
push ecx
push 6
add edx, 2
push edx
push esi
push ebx
call fcn.004abdb0
add esp, 0x20
mov byte [esp + 0x100], 1
mov eax, dword [esp + 0x10]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49daaf
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
inc eax
lea ecx, [esp + 0xac]
push ecx
push eax
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0x6c]
push 0x120b
push eax
call dword [0x652d5c]
test eax, eax
jne 0x49c920
mov ebx, dword [esp + 0x10c]
mov esi, dword [esp + 0x108]
mov edx, dword [ebx + 8]
mov edi, dword [esp + 0x34]
cmp edi, edx
jge 0x49db1c
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x1c], edx
push ecx
lea edx, [esp + 0x18]
push edx
mov ecx, esi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x28], eax
call fcn.005ba4b0
mov dword [esp + 0x100], 0xffffffff
mov eax, dword [esp + 0x2c]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x49db45
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov ecx, dword [esp + 0xf8]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xe8]
pop ebx
call fcn.0057981f
add esp, 0xf4
ret 0x10
push 0x80070057
call fcn.00401180
mov edi, edi
wait
leave
dec ecx
add byte [esi - 0x56ffb636], bl
int3