Function at 0x40eaa0
Capabilities:
Check http status code
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x24
push ebx
push ebp
mov ebp, dword [esp + 0x30]
push esi
push edi
mov dword [esp + 0x24], 0
mov eax, dword [ebp + 0x1e4]
mov edi, dword [ebp]
test al, 1
mov dword [esp + 0x14], edi
je 0x40eacc
mov ecx, dword [ebp + 0x120]
jmp 0x40eacf
or ecx, 0xffffffff
test al, 2
je 0x40eadb
mov eax, dword [ebp + 0x134]
jmp 0x40eade
or eax, 0xffffffff
push 0
push eax
push ecx
call fcn.0041f460
add esp, 0xc
cmp eax, 4
mov dword [esp + 0x30], eax
jne 0x40eb0e
push 0x42a964
push edi
call fcn.00414a30
add esp, 8
mov eax, 0x37
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
test byte [ebp + 0x1e4], 1
je 0x40fc8f
test al, 1
je 0x40fc8f
mov eax, dword [edi + 0x160]
test eax, eax
jne 0x40eb32
mov eax, 0x4000
mov edx, dword [ebp + 0x1d8]
lea ecx, [esp + 0x18]
push ecx
push eax
mov eax, dword [ebp + 0x120]
push edx
push eax
push ebp
call fcn.00414cc0
add esp, 0x14
test eax, eax
jl 0x40fc8f
mov dword [esp + 0x1c], eax
jg 0x4102ae
mov ecx, dword [ebp + 0x168]
mov eax, dword [ebp + 0x16c]
or ecx, eax
jne 0x40eba7
mov edx, dword [ebp + 0x170]
mov eax, dword [ebp + 0x174]
or edx, eax
jne 0x40eba7
push 4
push edi
call fcn.004150f0
mov al, byte [ebp + 0x1c9]
add esp, 8
test al, al
je 0x40eba7
call fcn.00414fa0
mov dword [ebp + 0x1c0], eax
mov dword [ebp + 0x1c4], edx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x24], 1
test eax, eax
jne 0x40ebc8
mov ecx, dword [ebp + 0x1d4]
test ecx, ecx
jne 0x40ebc8
mov byte [esp + 0x13], 1
jmp 0x40ebd5
test eax, eax
mov byte [esp + 0x13], 0
jle 0x40fc7b
mov ecx, dword [ebp + 0x1d8]
mov byte [ecx + eax], 0
mov cl, byte [ebp + 0x188]
mov eax, dword [ebp + 0x1d8]
test cl, cl
mov dword [ebp + 0x19c], eax
je 0x40f99d
push 0xa
push eax
mov byte [esp + 0x40], 0
mov dword [ebp + 0x1a0], eax
call dword [sym.imp.MSVCRT.dll_strchr]
add esp, 8
mov dword [ebp + 0x1a4], eax
test eax, eax
je 0x40f7db
mov eax, dword [ebp + 0x1a4]
mov ebx, dword [ebp + 0x19c]
mov ecx, dword [esp + 0x18]
mov esi, eax
sub esi, ebx
mov ebx, dword [ebp + 0x1a0]
inc esi
mov edx, dword [ebp + 0x198]
sub ecx, esi
inc eax
mov dword [ebp + 0x19c], eax
sub eax, ebx
mov ebx, eax
mov dword [esp + 0x18], ecx
mov ecx, dword [edi + 0x2e0]
lea eax, [edx + ebx]
cmp eax, ecx
jb 0x40ecb7
lea eax, [eax + eax*2]
add ecx, ecx
shr eax, 1
cmp eax, ecx
mov dword [esp + 0x20], eax
ja 0x40ec70
mov dword [esp + 0x20], ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov edi, dword [ebp + 0x194]
push ecx
mov eax, dword [eax + 0x2dc]
push eax
sub edi, eax
call dword [0x428efc]
add esp, 8
test eax, eax
je 0x40ff3a
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov dword [ecx + 0x2dc], eax
add eax, edi
mov dword [ecx + 0x2e0], edx
mov dword [ebp + 0x194], eax
mov edi, ecx
mov eax, dword [ebp + 0x1a0]
mov ecx, dword [ebp + 0x194]
push ebx
push eax
push ecx
call dword [sym.imp.MSVCRT.dll_strncpy]
mov edx, dword [ebp + 0x194]
mov ecx, dword [ebp + 0x198]
add edx, ebx
add ecx, ebx
mov eax, edx
mov dword [ebp + 0x194], edx
mov dword [ebp + 0x198], ecx
add esp, 0xc
mov byte [eax], 0
mov edx, dword [ebp + 0x194]
mov dword [ebp + 0x1a4], edx
mov eax, dword [edi + 0x2dc]
mov dword [ebp + 0x1a8], eax
mov eax, dword [ebp + 0x190]
test eax, eax
jne 0x40ed33
cmp dword [ebp + 0x198], 5
jbe 0x40ed33
mov ecx, dword [edi + 0x2dc]
push ecx
push edi
call fcn.004102c0
add esp, 8
test al, al
je 0x40f8bd
mov eax, dword [ebp + 0x1a8]
mov cl, byte [eax]
cmp cl, 0xa
je 0x40f623
cmp cl, 0xd
je 0x40f628
mov ecx, dword [ebp + 0x190]
test ecx, ecx
lea edx, [ecx + 1]
mov dword [ebp + 0x190], edx
jne 0x40ee3c
mov ebx, dword [sym.imp.MSVCRT.dll_sscanf]
lea edi, [ebp + 0x1b8]
lea esi, [ebp + 0x1bc]
push edi
lea ecx, [esp + 0x2c]
push esi
push ecx
push 0x42a954
push eax
call ebx
add esp, 0x14
cmp eax, 3
jne 0x40eec1
mov eax, dword [esp + 0x28]
lea edx, [eax + eax*4]
mov eax, dword [esi]
shl edx, 1
add eax, edx
mov dword [esi], eax
mov ebx, dword [esp + 0x14]
mov eax, dword [edi]
mov dword [ebx + 0x8380], eax
mov al, byte [ebx + 0x189]
mov ecx, dword [esi]
test al, al
mov dword [ebx + 0x8388], ecx
je 0x40edfb
mov eax, dword [edi]
cmp eax, 0x190
jl 0x40edfb
cmp eax, 0x191
je 0x40edfb
cmp eax, 0x197
je 0x40edfb
mov edx, dword [ebp + 0x70]
mov ecx, dword [ebp + 0x74]
or edx, ecx
je 0x40ff59
cmp dword [ebx + 0x114], 1
jne 0x40ff59
cmp eax, 0x1a0
jne 0x40ff59
cmp dword [esi], 0xa
jne 0x40ee07
mov byte [ebp + 0xdc], 1
mov edi, dword [edi]
sub edi, 0xcc
je 0x40ee1b
sub edi, 0x64
je 0x40ee1b
sub edi, 0x70
jne 0x40ee3c
xor eax, eax
mov dword [ebp + 0x128], eax
mov dword [ebp + 0xa0], eax
mov dword [ebp + 0x12c], eax
mov dword [ebp + 0xa4], eax
mov byte [ebp + 0x1ea], 1
mov al, byte [ebp + 0x1ea]
test al, al
jne 0x40ef37
mov eax, dword [ebp + 0x1a8]
push 0xf
push eax
push 0x42a944
call fcn.00413800
add esp, 0xc
test eax, eax
je 0x40ef37
mov ecx, dword [ebp + 0x1a8]
push 0xa
add ecx, 0xf
push 0
push ecx
call fcn.00420600
mov edi, dword [esp + 0x20]
add esp, 0xc
mov esi, dword [edi + 0x170]
mov ecx, dword [edi + 0x174]
mov ebx, esi
or ebx, ecx
je 0x40eea6
cmp edx, ecx
jg 0x40ff7b
jl 0x40eea6
cmp eax, esi
ja 0x40ff7b
test edx, edx
jl 0x40ef1b
jg 0x40eeb0
test eax, eax
jb 0x40ef1b
mov dword [ebp + 0x128], eax
mov dword [ebp + 0x12c], edx
jmp 0x40f586
mov eax, dword [ebp + 0x1a8]
push edi
push 0x42a938
push eax
call ebx
add esp, 0xc
mov dword [esi], 0xa
test eax, eax
jne 0x40eda0
mov ecx, dword [ebp + 0x1a8]
mov ebx, dword [esp + 0x14]
push ecx
push ebx
call fcn.004102c0
add esp, 8
test al, al
je 0x40f8ee
mov dword [edi], 0xc8
mov ecx, dword [ebx + 0x11c]
xor edx, edx
cmp ecx, 1
setne dl
add edx, 0xa
mov dword [esi], edx
jmp 0x40eda4
push edx
push eax
push 0x42a900
push edi
mov byte [ebp + 0xdc], 1
call fcn.004149c0
add esp, 0x10
jmp 0x40f586
mov edx, dword [ebp + 0x1a8]
push 0xd
push edx
push 0x42a8f0
call fcn.00413800
add esp, 0xc
test eax, eax
je 0x40f054
mov esi, dword [ebp + 0x1a8]
add esi, 0xd
mov al, byte [esi]
test al, al
je 0x40ef9f
mov edi, dword [sym.imp.MSVCRT.dll__isctype]
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x40ef82
movsx edx, al
push 8
push edx
call edi
add esp, 8
jmp 0x40ef93
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movsx eax, al
mov edx, dword [ecx]
mov al, byte [edx + eax*2]
and eax, 8
test eax, eax
je 0x40ef9f
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x40ef6a
mov ebx, dword [sym.imp.MSVCRT.dll_strchr]
push 0xd
push esi
call ebx
mov edi, eax
add esp, 8
test edi, edi
jne 0x40efc5
push 0xa
push esi
call ebx
mov edi, eax
add esp, 8
test edi, edi
je 0x40f586
mov ebx, dword [sym.imp.MSVCRT.dll__isctype]
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x40efe2
movsx ecx, byte [edi]
push 8
push ecx
call ebx
add esp, 8
jmp 0x40eff2
mov eax, dword [sym.imp.MSVCRT.dll__pctype]
movsx edx, byte [edi]
mov ecx, dword [eax]
mov al, byte [ecx + edx*2]
and eax, 8
test eax, eax
je 0x40effd
cmp edi, esi
jbe 0x40effd
dec edi
jmp 0x40efcb
mov edx, dword [esp + 0x14]
sub edi, esi
inc edi
mov eax, dword [edx + 0x83a4]
mov ebx, edi
push eax
call fcn.0040ad90
lea ecx, [ebx + 1]
push ecx
call dword [0x428ef4]
mov edx, dword [esp + 0x1c]
add esp, 8
test eax, eax
mov dword [edx + 0x83a4], eax
je 0x41007a
mov ecx, ebx
mov edi, eax
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
mov edx, dword [ecx + 0x83a4]
mov byte [edx + ebx], 0
jmp 0x40f586
mov eax, dword [ebp + 0x1bc]
mov ebx, 0xa
cmp eax, ebx
jne 0x40f0a8
mov al, byte [ebp + 0xdf]
test al, al
je 0x40f0a8
mov eax, dword [ebp + 0x1a8]
push 0x42a8e4
push 0x42a8d0
push eax
call fcn.0041d2c0
add esp, 0xc
test al, al
je 0x40f0a8
mov ecx, dword [esp + 0x14]
push 0x42a8a0
push ecx
mov byte [ebp + 0xdc], 0
call fcn.004149c0
add esp, 8
jmp 0x40f586
cmp dword [ebp + 0x1bc], 0xb
jne 0x40f0f6
mov al, byte [ebp + 0xdf]
test al, al
je 0x40f0f6
mov edx, dword [ebp + 0x1a8]
push 0x42a898
push 0x42a8d0
push edx
call fcn.0041d2c0
add esp, 0xc
test al, al
je 0x40f0f6
mov eax, dword [esp + 0x14]
push 0x42a870
push eax
mov byte [ebp + 0xdc], 1
call fcn.004149c0
add esp, 8
jmp 0x40f586
cmp dword [ebp + 0x1bc], ebx
jne 0x40f139
mov ecx, dword [ebp + 0x1a8]
push 0x42a8e4
push 0x42a864
push ecx
call fcn.0041d2c0
add esp, 0xc
test al, al
je 0x40f139
mov edx, dword [esp + 0x14]
push 0x42a83c
push edx
mov byte [ebp + 0xdc], 0
call fcn.004149c0
add esp, 8
jmp 0x40f586
mov eax, dword [ebp + 0x1a8]
push 0x42a898
push 0x42a864
push eax
call fcn.0041d2c0
add esp, 0xc
test al, al
je 0x40f162
mov byte [ebp + 0xdc], 1
jmp 0x40f586
mov ecx, dword [ebp + 0x1a8]
push 0x42a834
push 0x42a820
push ecx
call fcn.0041d2c0
add esp, 0xc
test al, al
je 0x40f194
push ebp
mov byte [ebp + 0xde], 1
call fcn.0041fe40
add esp, 4
jmp 0x40f586
mov edx, dword [ebp + 0x1a8]
push 0x11
push edx
push 0x42a80c
call fcn.00413800
mov esi, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x40f2c2
mov eax, dword [esi + 0x60]
test eax, eax
je 0x40f2c2
mov esi, dword [ebp + 0x1a8]
add esi, 0x11
mov al, byte [esi]
test al, al
je 0x40f20b
mov edi, dword [sym.imp.MSVCRT.dll__isctype]
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x40f1ee
movsx edx, al
push 8
push edx
call edi
add esp, 8
jmp 0x40f1ff
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movsx eax, al
mov edx, dword [ecx]
mov al, byte [edx + eax*2]
and eax, 8
test eax, eax
je 0x40f20b
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x40f1d6
push 8
push esi
push 0x429c2c
call fcn.00413800
add esp, 0xc
test eax, eax
je 0x40f22e
mov dword [ebp + 0x1cc], 0
jmp 0x40f586
push 7
push esi
push 0x42a804
call fcn.00413800
add esp, 0xc
test eax, eax
je 0x40f251
mov dword [ebp + 0x1cc], 1
jmp 0x40f586
push 4
push esi
push 0x42a7fc
call fcn.00413800
add esp, 0xc
test eax, eax
jne 0x40f2b3
push 6
push esi
push 0x42a7f4
call fcn.00413800
add esp, 0xc
test eax, eax
jne 0x40f2b3
push 8
push esi
push 0x42a7e8
call fcn.00413800
add esp, 0xc
test eax, eax
jne 0x40f2a4
push ebx
push esi
push 0x42a7dc
call fcn.00413800
add esp, 0xc
test eax, eax
je 0x40f586
mov dword [ebp + 0x1cc], 3
jmp 0x40f586
mov dword [ebp + 0x1cc], 2
jmp 0x40f586
mov eax, dword [ebp + 0x1a8]
push 0x42a7d4
push 0x42a7c4
push eax
call fcn.0041d2c0
add esp, 0xc
test al, al
je 0x40f346
mov ecx, dword [ebp + 0x1a8]
push 0x42a7d4
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
mov cl, byte [eax + 5]
add eax, 5
add esp, 8
cmp cl, 0x3a
jne 0x40f300
inc eax
push ebx
push 0
push eax
call fcn.00420600
mov dword [ebp + 0x1b0], eax
mov dword [ebp + 0x1b4], edx
mov edx, dword [ebp + 0x70]
mov eax, dword [ebp + 0x1b0]
add esp, 0xc
cmp edx, eax
jne 0x40f586
mov eax, dword [ebp + 0x74]
mov ecx, dword [ebp + 0x1b4]
cmp eax, ecx
jne 0x40f586
mov byte [ebp + 0x1ac], 1
jmp 0x40f586
mov eax, dword [esi + 0x1cc]
test eax, eax
je 0x40f3b2
mov ecx, dword [ebp + 0x1a8]
push 0xb
push ecx
push 0x42a7b8
call fcn.00413800
add esp, 0xc
test eax, eax
je 0x40f3b2
push 2
push 2
push esi
call fcn.004138d0
mov eax, dword [ebp + 0x158]
add esp, 0xc
test eax, eax
jne 0x40f384
mov eax, dword [ebp + 0x30]
mov edx, dword [ebp + 0x4c]
mov ecx, dword [esi + 0x1cc]
push edx
push eax
mov eax, dword [ebp + 0x1a8]
add eax, 0xb
push eax
push 1
push ecx
push esi
call fcn.00411680
push 2
push esi
call fcn.00413920
add esp, 0x20
jmp 0x40f586
mov edx, dword [ebp + 0x1a8]
push 0xe
push edx
push 0x42a7a8
call fcn.00413800
add esp, 0xc
test eax, eax
je 0x40f422
mov eax, dword [esi + 0x108]
test eax, eax
jne 0x40f3e0
mov al, byte [esi + 0x181]
test al, al
je 0x40f422
push 0
call dword [sym.imp.MSVCRT.dll_time]
mov ecx, dword [ebp + 0x1a8]
mov dword [esp + 0x30], eax
lea eax, [esp + 0x30]
add ecx, 0xe
push eax
push ecx
call fcn.00420040
mov dword [ebp + 0x1d0], eax
mov cl, byte [esi + 0x181]
add esp, 0xc
test cl, cl
je 0x40f586
mov dword [esi + 0x838c], eax
jmp 0x40f586
mov edx, dword [ebp + 0x1a8]
push 0x11
push edx
push 0x42a794
call fcn.00413800
add esp, 0xc
test eax, eax
je 0x40f449
mov eax, dword [ebp + 0x1b8]
cmp eax, 0x191
je 0x40f470
mov eax, dword [ebp + 0x1a8]
push 0x13
push eax
push 0x42a780
call fcn.00413800
add esp, 0xc
test eax, eax
je 0x40f48e
mov eax, dword [ebp + 0x1b8]
cmp eax, 0x197
jne 0x40f48e
mov ecx, dword [ebp + 0x1a8]
push ecx
push eax
push ebp
call fcn.0041d100
add esp, 0xc
test eax, eax
jne 0x4102ae
jmp 0x40f586
mov eax, dword [ebp + 0x1b8]
cmp eax, 0x12c
jl 0x40f586
cmp eax, 0x190
jge 0x40f586
mov edx, dword [ebp + 0x1a8]
push 9
push edx
push 0x42a774
call fcn.00413800
add esp, 0xc
test eax, eax
je 0x40f586
mov al, byte [esi + 0x18a]
test al, al
je 0x40f586
mov edi, dword [ebp + 0x1a8]
mov ebx, dword [sym.imp.MSVCRT.dll__isctype]
add edi, 9
mov al, byte [edi]
test al, al
je 0x40f520
mov ecx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [ecx], 1
jle 0x40f503
movsx edx, al
push 8
push edx
call ebx
add esp, 8
jmp 0x40f514
mov ecx, dword [sym.imp.MSVCRT.dll__pctype]
movsx eax, al
mov edx, dword [ecx]
mov al, byte [edx + eax*2]
and eax, 8
test eax, eax
je 0x40f520
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x40f4eb
mov esi, dword [ebp + 0x1a4]
dec esi
cmp esi, edi
jb 0x40f55b
mov eax, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [eax], 1
jle 0x40f542
movsx ecx, byte [esi]
push 8
push ecx
call ebx
add esp, 8
jmp 0x40f552
mov eax, dword [sym.imp.MSVCRT.dll__pctype]
movsx edx, byte [esi]
mov ecx, dword [eax]
mov al, byte [ecx + edx*2]
and eax, 8
test eax, eax
je 0x40f55b
dec esi
cmp esi, edi
jae 0x40f52b
mov bl, byte [esi + 1]
inc esi
cmp esi, edi
je 0x40f586
push edi
mov byte [esi], 0
call dword [0x428f00]
mov dword [ebp + 0x15c], eax
mov byte [esi], bl
mov eax, dword [ebp + 0x15c]
add esp, 4
test eax, eax
je 0x41007a
mov edi, dword [esp + 0x14]
mov esi, 2
mov al, byte [edi + 0x18c]
test al, al
je 0x40f59e
mov esi, 3
mov al, byte [edi + 0x19c]
test al, al
je 0x40f5c2
mov edx, dword [ebp + 0x198]
mov eax, dword [ebp + 0x1a8]
push ebp
push edx
push eax
push 1
push edi
call fcn.00414d60
add esp, 0x14
mov ecx, dword [ebp + 0x198]
mov edx, dword [ebp + 0x1a8]
push ecx
push edx
push esi
push edi
call fcn.00414c20
add esp, 0x10
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4102ae
mov eax, dword [ebp + 0x198]
mov ecx, dword [edi + 0x8390]
add ecx, eax
mov dword [edi + 0x8390], ecx
mov ecx, dword [ebp + 0x198]
mov eax, dword [ebp + 0x60]
add eax, ecx
mov dword [ebp + 0x60], eax
mov edx, dword [edi + 0x2dc]
mov dword [ebp + 0x194], edx
mov dword [ebp + 0x198], 0
jmp 0x40f7a8
cmp cl, 0xd
jne 0x40f62f
inc eax
mov dword [ebp + 0x1a8], eax
mov eax, dword [ebp + 0x1a8]
cmp byte [eax], 0xa
jne 0x40f641
inc eax
mov dword [ebp + 0x1a8], eax
mov eax, dword [ebp + 0x1b8]
cmp eax, 0x64
jne 0x40f67f
mov cl, byte [ebp + 0x1c8]
mov byte [ebp + 0x188], 1
test cl, cl
mov dword [ebp + 0x190], 0
je 0x40f686
mov ecx, dword [ebp + 0x1e4]
mov byte [ebp + 0x1c8], 0
or ecx, 2
mov dword [ebp + 0x1e4], ecx
jmp 0x40f686
mov byte [ebp + 0x188], 0
cmp eax, 0x1a1
jne 0x40f6a2
mov eax, dword [ebp + 0x1e4]
mov byte [ebp + 0x1c8], 0
and al, 0xfd
mov dword [ebp + 0x1e4], eax
push ebp
call fcn.0041d220
add esp, 4
test eax, eax
jne 0x40ff96
mov al, byte [edi + 0x18c]
mov ecx, 2
test al, al
je 0x40f6c7
mov ecx, 3
mov eax, dword [edi + 0x2dc]
mov esi, dword [ebp + 0x1a8]
sub esi, eax
push esi
push eax
push ecx
push edi
call fcn.00414c20
add esp, 0x10
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4102ae
mov ecx, dword [edi + 0x8390]
add ecx, esi
mov dword [edi + 0x8390], ecx
mov eax, dword [ebp + 0x60]
add eax, esi
xor ecx, ecx
mov dword [ebp + 0x60], eax
mov ebx, dword [ebp + 0x1b8]
cmp ebx, 0x64
mov edx, dword [ebp + 0x70]
setne cl
dec ecx
and eax, ecx
mov dword [ebp + 0x64], eax
mov eax, dword [ebp + 0x74]
or edx, eax
je 0x40f73d
cmp dword [edi + 0x114], 1
jne 0x40f73d
cmp dword [ebp + 0x1b8], 0x1a0
jne 0x40f73d
mov byte [esp + 0x38], 1
jmp 0x40f778
push ebp
call fcn.0041cdc0
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x4102ae
mov al, byte [ebp + 0xf0]
test al, al
je 0x40f778
push 0x42a74c
push edi
call fcn.004149c0
mov eax, dword [ebp + 0x1e4]
add esp, 8
or al, 2
mov dword [ebp + 0x1e4], eax
mov al, byte [ebp + 0x188]
test al, al
je 0x40f8fe
mov eax, dword [edi + 0x2dc]
mov dword [ebp + 0x198], 0
mov dword [ebp + 0x194], eax
mov al, byte [esp + 0x38]
test al, al
jne 0x40fc8b
mov eax, dword [ebp + 0x19c]
cmp byte [eax], 0
je 0x40f99d
push 0xa
push eax
mov dword [ebp + 0x1a0], eax
call dword [sym.imp.MSVCRT.dll_strchr]
mov edi, dword [esp + 0x1c]
add esp, 8
test eax, eax
mov dword [ebp + 0x1a4], eax
jne 0x40ec1e
mov ecx, dword [ebp + 0x198]
mov edx, dword [esp + 0x18]
lea eax, [ecx + edx]
mov ecx, dword [edi + 0x2e0]
cmp eax, ecx
jb 0x40f835
lea eax, [eax + eax*2]
lea ebx, [ecx + ecx]
shr eax, 1
cmp eax, ebx
jbe 0x40f800
mov ebx, eax
mov eax, dword [edi + 0x2dc]
mov esi, dword [ebp + 0x194]
push ebx
push eax
sub esi, eax
call dword [0x428efc]
add esp, 8
test eax, eax
je 0x40ff1f
mov dword [edi + 0x2dc], eax
add eax, esi
mov dword [edi + 0x2e0], ebx
mov dword [ebp + 0x194], eax
mov ecx, dword [esp + 0x18]
mov esi, dword [ebp + 0x19c]
mov edi, dword [ebp + 0x194]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 0x194]
mov edx, dword [ebp + 0x198]
mov ecx, dword [ebp + 0x190]
add esi, eax
add edx, eax
test ecx, ecx
mov dword [ebp + 0x194], esi
mov dword [ebp + 0x198], edx
mov eax, edx
jne 0x40f99d
cmp eax, 5
jbe 0x40f99d
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x2dc]
push ecx
push eax
call fcn.004102c0
add esp, 8
test al, al
jne 0x40f99d
mov byte [ebp + 0x188], al
mov dword [ebp + 0x18c], 2
jmp 0x40f99d
mov eax, dword [esp + 0x18]
mov byte [ebp + 0x188], 0
test eax, eax
je 0x40f8db
mov dword [ebp + 0x18c], 1
jmp 0x40f991
mov dword [ebp + 0x18c], 2
mov dword [esp + 0x18], esi
jmp 0x40f991
mov edi, dword [esp + 0x14]
mov byte [ebp + 0x188], 0
jmp 0x40f991
mov al, byte [ebp + 0xed]
test al, al
je 0x40f90f
mov byte [esp + 0x38], 1
jmp 0x40f928
mov al, byte [ebp + 0xde]
test al, al
je 0x40f928
or eax, 0xffffffff
mov dword [ebp + 0x128], eax
mov dword [ebp + 0x12c], eax
mov eax, dword [ebp + 0x128]
mov ecx, dword [ebp + 0x12c]
cmp eax, 0xffffffff
jne 0x40f93d
cmp ecx, eax
je 0x40f960
push ecx
push eax
push edi
call fcn.00415280
mov edx, dword [ebp + 0x128]
mov eax, dword [ebp + 0x12c]
mov dword [ebp + 0xa0], edx
add esp, 0xc
mov dword [ebp + 0xa4], eax
mov eax, dword [ebp + 0xa0]
test eax, eax
jne 0x40f97b
mov eax, dword [ebp + 0xa4]
test eax, eax
jne 0x40f97b
mov byte [esp + 0x38], 1
jmp 0x40f983
mov al, byte [esp + 0x38]
test al, al
je 0x40f99d
mov eax, dword [ebp + 0x1e4]
and al, 0xfe
mov dword [ebp + 0x1e4], eax
mov al, byte [esp + 0x38]
test al, al
jne 0x40fc8f
mov eax, dword [ebp + 0x19c]
test eax, eax
je 0x40fc6f
mov al, byte [ebp + 0x188]
test al, al
jne 0x40fc6f
mov eax, dword [esp + 0x18]
test eax, eax
jg 0x40f9cd
mov al, byte [esp + 0x13]
test al, al
je 0x40fc8b
mov eax, dword [ebp + 0x1d4]
test eax, eax
jne 0x40fa91
mov al, byte [esp + 0x13]
test al, al
jne 0x40fa91
test byte [ebp + 8], 4
je 0x40fa91
mov eax, dword [ebp + 0x15c]
test eax, eax
je 0x40fa24
mov al, byte [ebp + 0xdc]
test al, al
jne 0x40ffb8
mov edi, dword [esp + 0x14]
push 0x42a730
push edi
mov byte [ebp + 0x1e9], 1
call fcn.004149c0
add esp, 8
jmp 0x40fa28
mov edi, dword [esp + 0x14]
mov ecx, dword [ebp + 0x70]
mov eax, dword [ebp + 0x74]
or ecx, eax
je 0x40fa53
mov al, byte [ebp + 0x1ac]
test al, al
jne 0x40fa53
cmp dword [edi + 0x114], 1
jne 0x40fa53
mov al, byte [ebp + 0x1e9]
test al, al
je 0x40ffd7
mov eax, dword [edi + 0x108]
test eax, eax
je 0x40fa95
mov ecx, dword [ebp + 0x68]
test ecx, ecx
jne 0x40fa95
mov edx, dword [ebp + 0x1d0]
test edx, edx
jle 0x40fa95
mov ecx, dword [edi + 0x10c]
test ecx, ecx
jle 0x40fa95
sub eax, 2
je 0x40fa87
cmp edx, ecx
jl 0x40fff2
jmp 0x40fa95
cmp edx, ecx
jg 0x410011
jmp 0x40fa95
mov edi, dword [esp + 0x14]
mov ecx, dword [ebp + 0x1d4]
inc ecx
mov dword [ebp + 0x1d4], ecx
mov al, byte [edi + 0x19c]
test al, al
je 0x40fb01
mov eax, dword [ebp + 0x18c]
push ebp
test eax, eax
je 0x40faea
mov edx, dword [ebp + 0x198]
mov eax, dword [edi + 0x2dc]
push edx
push eax
push 3
push edi
call fcn.00414d60
mov eax, dword [ebp + 0x18c]
add esp, 0x14
cmp eax, 1
jne 0x40fb01
mov ecx, dword [esp + 0x18]
mov edx, dword [ebp + 0x19c]
push ebp
push ecx
push edx
jmp 0x40faf6
mov eax, dword [esp + 0x1c]
mov ecx, dword [ebp + 0x19c]
push eax
push ecx
push 3
push edi
call fcn.00414d60
add esp, 0x14
mov al, byte [ebp + 0xde]
test al, al
je 0x40fb40
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x19c]
lea edx, [esp + 0x18]
push edx
push eax
push ecx
push ebp
call fcn.0041fe60
add esp, 0x10
test eax, eax
jg 0x410030
cmp eax, 0xffffffff
jne 0x40fb40
mov eax, dword [ebp + 0x1e4]
and al, 0xfe
mov dword [ebp + 0x1e4], eax
mov esi, dword [ebp + 0xa0]
mov ecx, dword [ebp + 0xa4]
cmp esi, 0xffffffff
jne 0x40fb55
cmp ecx, esi
je 0x40fb9c
mov ebx, dword [esp + 0x18]
mov eax, ebx
cdq
add eax, dword [ebp + 0x168]
adc edx, dword [ebp + 0x16c]
cmp edx, ecx
jl 0x40fba0
jg 0x40fb72
cmp eax, esi
jb 0x40fba0
mov ebx, dword [ebp + 0xa0]
mov eax, dword [ebp + 0x168]
sub ebx, eax
mov dword [esp + 0x18], ebx
jns 0x40fb8c
xor ebx, ebx
mov dword [esp + 0x18], ebx
mov eax, dword [ebp + 0x1e4]
and al, 0xfe
mov dword [ebp + 0x1e4], eax
jmp 0x40fba0
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebp + 0x168]
mov eax, ebx
cdq
add ecx, eax
mov dword [ebp + 0x168], ecx
mov eax, dword [ebp + 0x16c]
adc eax, edx
mov dword [ebp + 0x16c], eax
mov edx, eax
mov eax, dword [ebp + 0x168]
push edx
push eax
push edi
call fcn.00415240
mov al, byte [ebp + 0xde]
add esp, 0xc
test al, al
jne 0x40fc73
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x40fbfe
mov eax, dword [ebp + 0x18c]
test eax, eax
jne 0x40fc08
mov al, byte [esp + 0x13]
test al, al
je 0x40fc8f
mov eax, dword [ebp + 0x18c]
test eax, eax
je 0x40fc2d
mov al, byte [ebp + 0x1e9]
test al, al
jne 0x40fc2d
mov ecx, dword [ebp + 0x198]
mov edx, dword [edi + 0x2dc]
push ecx
push edx
push 1
push edi
call fcn.00414c20
add esp, 0x10
jmp 0x40fc31
mov eax, dword [esp + 0x1c]
cmp dword [ebp + 0x18c], 2
jge 0x40fc5b
mov cl, byte [ebp + 0x1e9]
test cl, cl
jne 0x40fc5b
mov eax, dword [esp + 0x18]
mov ecx, dword [ebp + 0x19c]
push eax
push ecx
push 1
push edi
call fcn.00414c20
add esp, 0x10
test eax, eax
mov dword [ebp + 0x18c], 0
jne 0x4102ae
jmp 0x40fc73
mov edi, dword [esp + 0x14]
mov al, byte [esp + 0x13]
test al, al
je 0x40fc8f
mov eax, dword [ebp + 0x1e4]
and al, 0xfe
mov dword [ebp + 0x1e4], eax
jmp 0x40fc8f
mov edi, dword [esp + 0x14]
test byte [ebp + 0x1e4], 2
je 0x410087
test byte [esp + 0x30], 2
je 0x410087
mov edx, dword [ebp + 0x168]
mov eax, dword [ebp + 0x16c]
or edx, eax
jne 0x40fcd2
mov eax, dword [ebp + 0x170]
mov ecx, dword [ebp + 0x174]
or eax, ecx
jne 0x40fcd2
push 4
push edi
call fcn.004150f0
add esp, 8
mov esi, dword [esp + 0x24]
mov eax, dword [ebp + 0x1f0]
or esi, 2
test eax, eax
jne 0x40fddf
mov ecx, dword [ebp + 0x1dc]
mov dword [ebp + 0x1f4], ecx
mov al, byte [ebp + 0x1e8]
test al, al
jne 0x40feae
mov al, byte [ebp + 0x1c9]
test al, al
je 0x40fd1b
mov edx, dword [ebp + 0x164]
cmp dword [edx + 0x78], 2
je 0x40fee9
lea eax, [esp + 0x30]
push eax
push 0x4000
push ebp
call fcn.0040e900
add esp, 0xc
test eax, eax
jne 0x4102ae
mov ecx, dword [esp + 0x30]
test ecx, ecx
mov dword [esp + 0x18], ecx
jle 0x40feb6
mov dword [ebp + 0x1f0], ecx
mov al, byte [edi + 0xe5]
test al, al
je 0x40fddf
mov eax, dword [edi + 0x8300]
test eax, eax
jne 0x40fd84
push 0x8000
call dword [0x428ef4]
add esp, 4
mov dword [edi + 0x8300], eax
mov ecx, dword [esp + 0x18]
test eax, eax
je 0x41006c
xor edx, edx
xor eax, eax
test ecx, ecx
jle 0x40fdc5
mov ecx, dword [ebp + 0x1f4]
mov cl, byte [edx + ecx]
cmp cl, 0xa
jne 0x40fdb2
mov ecx, dword [edi + 0x8300]
inc eax
mov byte [eax + ecx - 1], 0xd
mov ecx, dword [edi + 0x8300]
mov byte [eax + ecx], 0xa
jmp 0x40fdbb
mov ebx, dword [edi + 0x8300]
mov byte [eax + ebx], cl
mov ecx, dword [esp + 0x18]
inc edx
inc eax
cmp edx, ecx
jl 0x40fd8c
cmp eax, ecx
je 0x40fddf
mov dword [esp + 0x18], eax
mov edx, dword [edi + 0x8300]
mov dword [ebp + 0x1f4], edx
mov dword [ebp + 0x1f0], eax
mov ecx, dword [ebp + 0x1f0]
mov edx, dword [ebp + 0x1f4]
lea eax, [esp + 0x38]
push eax
mov eax, dword [ebp + 0x134]
push ecx
push edx
push eax
push ebp
call fcn.00414b80
add esp, 0x14
test eax, eax
jne 0x4102ae
mov al, byte [edi + 0x19c]
test al, al
je 0x40fe2c
mov ecx, dword [esp + 0x38]
mov edx, dword [ebp + 0x1f4]
push ebp
push ecx
push edx
push 4
push edi
call fcn.00414d60
add esp, 0x14
mov ecx, dword [ebp + 0x1f0]
mov eax, dword [esp + 0x38]
cmp ecx, eax
je 0x40fe52
sub ecx, eax
mov dword [ebp + 0x1f0], ecx
mov ecx, dword [ebp + 0x1f4]
add ecx, eax
mov dword [ebp + 0x1f4], ecx
jmp 0x40fe79
mov ecx, dword [ebp + 0x1dc]
mov dword [ebp + 0x1f0], 0
mov dword [ebp + 0x1f4], ecx
mov cl, byte [ebp + 0x1e8]
test cl, cl
je 0x40fe79
and dword [ebp + 0x1e4], 0xfffffffd
mov ecx, dword [ebp + 0x170]
cdq
add ecx, eax
mov dword [ebp + 0x170], ecx
mov eax, dword [ebp + 0x174]
adc eax, edx
mov dword [ebp + 0x174], eax
mov edx, eax
mov eax, dword [ebp + 0x170]
push edx
push eax
push edi
call fcn.00415260
add esp, 0xc
jmp 0x41008b
mov dword [esp + 0x18], 0
mov ecx, dword [ebp + 0x1e4]
and ecx, 0xfffffffd
mov dword [ebp + 0x1e4], ecx
mov al, byte [ebp + 0xf0]
test al, al
je 0x41008b
push ebp
call fcn.0040e9f0
add esp, 4
test eax, eax
jne 0x4102ae
jmp 0x41008b
mov ecx, dword [ebp + 0x1e4]
mov byte [ebp + 0x1c9], 0
and ecx, 0xfffffffd
mov byte [ebp + 0x1c8], 1
mov dword [ebp + 0x1e4], ecx
call fcn.00414fa0
mov dword [ebp + 0x1c0], eax
mov dword [ebp + 0x1c4], edx
and esi, 0xfffffffd
jmp 0x41008b
push 0x42a708
push edi
call fcn.00414a30
add esp, 8
mov eax, 0x1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov ecx, dword [esp + 0x14]
push 0x42a708
push ecx
call fcn.00414a30
add esp, 8
mov eax, 0x1b
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov edx, dword [ebp + 0x1b8]
push edx
push 0x42a6e0
push ebx
call fcn.00414a30
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
push 0x428f84
push edi
call fcn.00414a30
add esp, 8
mov eax, 0x3f
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov eax, dword [ebp + 0x1b8]
push eax
push 0x42a6e0
push edi
call fcn.00414a30
add esp, 0xc
mov eax, 0x16
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov eax, dword [ebp + 0x1e4]
mov ecx, dword [esp + 0x3c]
and al, 0xfe
pop edi
mov dword [ebp + 0x1e4], eax
pop esi
pop ebp
mov byte [ecx], 1
xor eax, eax
pop ebx
add esp, 0x24
ret
push 0x42a6a0
push edi
call fcn.00414a30
add esp, 8
mov eax, 0x21
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
push 0x42a674
push edi
call fcn.004149c0
mov edx, dword [esp + 0x44]
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
mov byte [edx], 1
pop ebx
add esp, 0x24
ret
push 0x42a648
push edi
call fcn.004149c0
mov eax, dword [esp + 0x44]
add esp, 8
pop edi
pop esi
mov byte [eax], 1
pop ebp
xor eax, eax
pop ebx
add esp, 0x24
ret
cmp eax, 4
jne 0x410050
push 0x42a634
push edi
call fcn.00414a30
add esp, 8
mov eax, 0x17
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
push eax
push 0x42a608
push edi
call fcn.00414a30
add esp, 0xc
mov eax, 0x38
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
push 0x42a5e8
push edi
call fcn.00414a30
add esp, 8
pop edi
pop esi
pop ebp
mov eax, 0x1b
pop ebx
add esp, 0x24
ret
mov esi, dword [esp + 0x24]
call fcn.00414fa0
mov dword [ebp + 0x180], eax
mov dword [ebp + 0x184], edx
test esi, esi
je 0x4100d8
mov eax, dword [ebp + 0x130]
test eax, eax
je 0x4100bb
mov ecx, dword [ebp + 0x168]
mov dword [eax], ecx
mov edx, dword [ebp + 0x16c]
mov dword [eax + 4], edx
mov eax, dword [ebp + 0x138]
test eax, eax
je 0x410122
mov ecx, dword [ebp + 0x170]
mov dword [eax], ecx
mov edx, dword [ebp + 0x174]
mov dword [eax + 4], edx
jmp 0x410122
mov al, byte [ebp + 0x1c8]
test al, al
je 0x410122
mov eax, dword [ebp + 0x1c4]
mov ecx, dword [ebp + 0x1c0]
mov edx, dword [ebp + 0x184]
push eax
mov eax, dword [ebp + 0x180]
push ecx
push edx
push eax
call fcn.00415000
add esp, 0x10
cmp eax, 0x3e8
jle 0x410122
mov eax, dword [ebp + 0x1e4]
mov byte [ebp + 0x1c8], 0
or al, 2
mov dword [ebp + 0x1e4], eax
push ebp
call fcn.00415300
add esp, 4
test eax, eax
je 0x41013c
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x24
ret
mov ecx, dword [ebp + 0x184]
mov edx, dword [ebp + 0x180]
push ecx
push edx
push edi
call fcn.0041fd60
add esp, 0xc
test eax, eax
jne 0x4102ae
mov eax, dword [edi + 0x98]
test eax, eax
je 0x4101dd
mov eax, dword [ebp + 0x17c]
mov ecx, dword [ebp + 0x178]
mov edx, dword [ebp + 0x184]
push eax
mov eax, dword [ebp + 0x180]
push ecx
push edx
push eax
call fcn.00415000
mov ecx, eax
mov eax, 0x10624dd3
imul ecx
mov eax, dword [edi + 0x98]
add esp, 0x10
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
cmp edx, eax
jl 0x4101dd
mov edx, dword [ebp + 0x12c]
mov eax, dword [ebp + 0x128]
mov ecx, dword [ebp + 0x16c]
push edx
mov edx, dword [ebp + 0x168]
push eax
push ecx
push edx
push 0x42a5ac
push edi
call fcn.00414a30
add esp, 0x18
mov eax, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
mov eax, dword [ebp + 0x1e4]
test eax, eax
jne 0x4102a3
mov bl, byte [ebp + 0xed]
test bl, bl
jne 0x410281
mov eax, dword [ebp + 0x128]
mov ecx, dword [ebp + 0x12c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x41024c
mov edx, dword [ebp + 0x168]
mov esi, dword [ebp + 0x16c]
cmp edx, eax
jne 0x410222
cmp esi, ecx
je 0x41024c
cmp dword [ebp + 0x15c], 0
jne 0x41024c
sub eax, edx
sbb ecx, esi
push ecx
push eax
push 0x42a578
push edi
call fcn.00414a30
add esp, 0x10
mov eax, 0x12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
test bl, bl
jne 0x410281
mov al, byte [ebp + 0xde]
test al, al
je 0x410281
mov eax, dword [ebp + 0x164]
cmp dword [eax + 0x54], 7
je 0x410281
push 0x42a540
push edi
call fcn.00414a30
add esp, 8
mov eax, 0x12
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret
push ebp
call fcn.00415300
add esp, 4
test eax, eax
je 0x41029b
pop edi
pop esi
pop ebp
mov eax, 0x2a
pop ebx
add esp, 0x24
ret
mov eax, dword [ebp + 0x1e4]
test eax, eax
mov edx, dword [esp + 0x3c]
sete cl
mov byte [edx], cl
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x24
ret