Function at 0x4856c0
Capabilities:
Check http status code
Read file on windows
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
mov eax, dword fs:[0]
push 0x531606
push eax
mov eax, 0xa2dc
mov dword fs:[0], esp
call fcn.0051c710
push ebx
push ebp
push esi
push edi
xor edi, edi
push 1
mov ebp, ecx
push 0x2355
mov dword [esp + 0x18], edi
call fcn.00483920
push 4
push 0x2350
mov ecx, ebp
call fcn.00483920
mov ecx, dword [0x65e650]
mov dword [esp + 0x10], eax
cmp eax, ecx
je 0x485848
xor ecx, eax
mov dword [0x65e650], eax
mov ebx, ecx
test bl, 1
je 0x48574d
test al, 1
je 0x48573a
call fcn.004cb370
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x90]
jmp 0x485749
call fcn.004cb370
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x94]
mov eax, dword [esp + 0x10]
test bl, 2
je 0x485798
test al, 2
je 0x485776
call fcn.004cba10
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x90]
call fcn.004cbd90
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x90]
jmp 0x485794
call fcn.004cba10
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x94]
call fcn.004cbd90
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x94]
mov eax, dword [esp + 0x10]
test bl, 4
je 0x4857c5
test al, 4
je 0x4857b2
call fcn.004cb610
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x90]
jmp 0x4857c1
call fcn.004cb610
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x94]
mov eax, dword [esp + 0x10]
test bl, 8
je 0x485848
test al, 8
je 0x48580c
call fcn.004cb370
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x90]
call fcn.004cba10
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x90]
call fcn.004cbd90
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x90]
call fcn.004cb610
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x90]
jmp 0x485848
call fcn.004cb370
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x94]
call fcn.004cba10
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x94]
call fcn.004cbd90
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x94]
call fcn.004cb610
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x94]
cmp dword [0x5c4934], edi
je 0x4858a8
push 4
push 0x2332
mov ecx, ebp
call fcn.00483920
mov dword [esp + 0x10], eax
mov eax, dword [0x5c4934]
dec eax
cmp eax, 3
ja case.default.0x48586d
jmp dword [eax*4 + 0x4870ac]
mov eax, dword [esp + 0x10]
or al, 5
jmp 0x485892
mov eax, dword [esp + 0x10]
and al, 0xfa
jmp 0x485892
mov eax, dword [esp + 0x10]
or al, 6
jmp 0x485892
mov eax, dword [esp + 0x10]
and al, 0xf9
mov dword [esp + 0x10], eax
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebp
call fcn.004846d0
mov dword [0x5c4934], edi
push 1
push 0x235a
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x4858d2
mov ecx, 0x675768
call fcn.004a0c60
push 1
push 0x235a
mov ecx, ebp
call fcn.004838e0
mov ecx, ebp
call fcn.00484650
movsx edx, word [0x675ac4]
cmp eax, edx
mov dword [esp + 0x10], eax
jne 0x4858fe
push 1
push 0x26ae
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x48594f
mov eax, dword [esp + 0x10]
mov word [0x675ac4], ax
mov eax, dword [0x65a634]
cmp eax, 1
jne 0x48591a
lea eax, [esp + 0x10]
push eax
push 0x280b
jmp 0x485924
lea ecx, [esp + 0x10]
push ecx
push 0x2721
mov ecx, ebp
call fcn.00483a40
mov ecx, 0x8d72c8
call fcn.004cf9f0
call fcn.004cba10
mov ecx, eax
call fcn.004cb9d0
push 1
push 0x26ae
mov ecx, ebp
call fcn.004838e0
push 0x23be
mov ecx, ebp
call fcn.004839e0
push eax
mov ecx, 0x6b1658
call fcn.004b6710
push 1
push 0x238c
mov ecx, ebp
call fcn.00483920
mov ecx, dword [0x65e654]
mov dword [esp + 0x10], eax
cmp eax, ecx
je 0x4859b4
mov dword [0x65e654], eax
cmp eax, edi
mov eax, dword [0x6b1658]
je 0x4859a3
or al, 2
mov ecx, 0x6b1658
mov dword [0x6b1658], eax
call fcn.004b7180
jmp 0x4859b4
and al, 0xfd
mov ecx, 0x6b1658
mov dword [0x6b1658], eax
call fcn.004b7200
lea edx, [esp + 0x34]
mov ecx, ebp
push edx
call fcn.00484670
mov eax, dword [eax]
cmp ax, word [0x57aa18]
mov dword [esp + 0x44], eax
mov bx, word [esp + 0x46]
jne 0x4859dd
cmp bx, word [0x57aa1a]
je 0x485a0e
movsx esi, ax
push esi
mov ecx, 0x8d72c8
mov dword [0x57aa18], eax
call fcn.004ce980
cmp eax, edi
jne 0x485a03
push esi
mov ecx, 0x8d72c8
call fcn.004ce9b0
cmp eax, edi
je 0x485a0e
mov edx, dword [eax]
movsx ecx, bx
push ecx
mov ecx, eax
call dword [edx + 0x5c]
push 0x23d2
mov ecx, ebp
call fcn.004839e0
push eax
mov ecx, 0x65e710
call fcn.0048ff90
push 2
push 0x23a0
mov ecx, ebp
call fcn.00483920
cmp eax, edi
mov dword [esp + 0x10], eax
je 0x485a6d
and eax, 1
push 1
push eax
mov ecx, 0x675aa8
call fcn.0049d1c0
mov edx, dword [esp + 0x10]
push 1
and edx, 2
mov ecx, 0x675aa8
push edx
call fcn.0049d1c0
push 2
push 0x23a0
mov ecx, ebp
call fcn.004838e0
push 1
push 0x23aa
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x485ab3
push 0x242e
mov ecx, ebp
call fcn.00483aa0
push eax
push 0x242c
mov ecx, ebp
call fcn.00483aa0
push eax
call fcn.00481f70
mov ecx, eax
call fcn.00481fc0
push 1
push 0x23aa
mov ecx, ebp
call fcn.004838e0
mov ecx, 0x675aa8
call fcn.004a0ee0
push 1
push 0x23b0
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x485adb
push 0x2f
call fcn.0049bfc0
add esp, 4
jmp 0x485af0
mov eax, dword [0x659a70]
mov ecx, dword [0x67419c]
not eax
and ecx, eax
mov dword [0x67419c], ecx
push 1
push 0x23a9
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x485b1c
call fcn.004cb040
mov ecx, eax
call fcn.004ca980
push 1
push 0x23a9
mov ecx, ebp
call fcn.004838e0
push 1
push 0x23b6
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x485b46
mov ecx, 0x8d72c8
call fcn.004d09f0
push 1
push 0x23b6
mov ecx, ebp
call fcn.004838e0
mov ecx, 0x65a5a8
call fcn.0047f310
push 0x232e
mov ecx, ebp
call fcn.004839e0
cmp eax, 2
mov dword [esp + 0x10], eax
ja 0x485b6a
mov dword [0x6b1228], eax
push 0x232f
mov ecx, ebp
call fcn.004839e0
cmp eax, edi
mov dword [esp + 0x10], eax
jle 0x485b9f
cmp eax, 8
jg 0x485b9f
lea ecx, [eax*4 + 0x659a30]
push 8
push ecx
push 0x2346
mov ecx, ebp
mov word [0x6b122e], ax
call fcn.00483980
push 0x2330
mov ecx, ebp
call fcn.00483aa0
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
mov dword [ecx], eax
mov ecx, 0x6b1228
call fcn.00487120
call fcn.0049e650
mov ecx, eax
call fcn.0049dba0
mov ecx, ebp
call fcn.004840b0
push 0x2353
mov ecx, ebp
call fcn.004839e0
mov ecx, dword [0x657884]
mov dword [esp + 0x10], eax
cmp eax, ecx
jge 0x485bfc
mov ecx, ebp
mov dword [0x657888], eax
mov dword [0x657884], eax
call fcn.00483e80
push 0x2354
mov ecx, ebp
call fcn.004839e0
mov ecx, dword [0x657884]
mov dword [esp + 0x10], eax
cmp eax, ecx
jg 0x485c2a
cmp eax, dword [0x657888]
je 0x485c2a
mov ecx, ebp
mov dword [0x657888], eax
call fcn.00483e50
push 0x23b4
mov ecx, ebp
call fcn.004839e0
mov ecx, dword [0x56dd70]
mov dword [esp + 0x10], eax
cmp eax, ecx
je 0x485c58
cmp ecx, edi
jl 0x485c53
mov ecx, ebp
call fcn.00484320
mov eax, dword [esp + 0x10]
mov dword [0x56dd70], eax
push 0x23b5
mov ecx, ebp
call fcn.004839e0
mov ecx, dword [0x56dd74]
mov dword [esp + 0x10], eax
cmp eax, ecx
je 0x485c86
cmp ecx, edi
jl 0x485c81
mov ecx, ebp
call fcn.00484420
mov eax, dword [esp + 0x10]
mov dword [0x56dd74], eax
push 0x24f8
mov ecx, ebp
call fcn.004839e0
cmp eax, edi
jg 0x485c9a
xor eax, eax
jmp 0x485ca4
cmp eax, 0x64
jl 0x485ca4
mov eax, 0x64
mov ecx, dword [0x65e658]
mov dword [esp + 0x10], eax
cmp eax, ecx
je 0x485cd7
push eax
mov dword [0x65e658], eax
call fcn.0040e6b0
mov ecx, eax
call fcn.0040e960
test eax, eax
je 0x485cd7
mov edx, dword [0x65e658]
push edx
call fcn.00481920
add esp, 4
push 1
push 0x23a8
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x485d01
mov ecx, 0x6b162c
call fcn.004b4830
push 1
push 0x23a8
mov ecx, ebp
call fcn.004838e0
push 1
push 0x23be
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x485d30
mov ecx, 0x6b162c
call fcn.004b4790
push 1
push 0x23be
mov ecx, ebp
call fcn.004838e0
jmp 0x485db9
push 0x2494
call fcn.00487160
mov ecx, eax
call fcn.004839e0
mov ecx, 0x6b162c
mov esi, eax
call fcn.004b4770
test eax, eax
mov ecx, 0x6b162c
je 0x485da3
call fcn.004b4760
test eax, eax
je 0x485d8d
push edi
push edi
call fcn.004cd5a0
add esp, 8
test eax, eax
je 0x485d97
push edi
push edi
call fcn.004cd5a0
mov edx, dword [eax]
add esp, 8
mov ecx, eax
call dword [edx + 0x8c]
mov ecx, 0x6b162c
call fcn.004b4740
jmp 0x485db9
push 0x16
call fcn.0049bfc0
add esp, 4
mov ecx, 0x6b162c
call fcn.004b4740
jmp 0x485db9
call fcn.004b4750
test eax, eax
je 0x485db9
cmp esi, 1
jne 0x485db9
push 0xa
call dword [sym.imp.KERNEL32.dll_Sleep]
push 1
push 0x23c0
mov ecx, ebp
call fcn.00483920
mov ecx, dword [0x65e65c]
or ebx, 0xffffffff
cmp eax, ecx
mov dword [esp + 0x10], eax
je 0x485ea5
push edi
push edi
mov dword [0x65e65c], eax
call fcn.004cd5a0
add esp, 8
cmp eax, edi
je 0x485ea5
mov esi, dword [eax + 0x18]
push edi
push edi
call fcn.004cd5a0
mov edx, dword [eax]
add esp, 8
mov ecx, eax
call dword [edx + 0x8c]
mov al, byte [0x8fa7d5]
test al, 1
jne 0x485e47
mov dl, al
push fcn.00402b00
or dl, 1
mov word [0x8fa7e2], di
mov byte [0x8fa7d5], dl
mov word [0x8fa7e0], di
mov word [0x8fa7e6], bx
mov word [0x8fa7e4], bx
call fcn.0051c6ca
add esp, 4
mov eax, dword [0x675b7c]
push edi
push 0x8fa7e0
push eax
mov ecx, esi
call fcn.004c9b10
mov esi, eax
cmp esi, edi
je 0x485ea5
mov ecx, 0xf
xor eax, eax
lea edi, [esp + 0x7e]
mov word [esp + 0x7c], 0
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x7c]
push ecx
stosw word es:[edi], ax
call fcn.00487160
mov ecx, eax
call fcn.00484d70
lea edx, [esp + 0x7c]
push edx
call fcn.00487160
mov ecx, eax
call fcn.00484e30
push 1
push esi
call fcn.004cd5a0
add esp, 8
xor edi, edi
mov ecx, ebp
call fcn.00482a50
push 0x23b9
mov ecx, ebp
call fcn.004839e0
test eax, eax
je 0x485ec8
push 0x1c
call fcn.0049bfc0
add esp, 4
jmp 0x485edd
mov eax, dword [0x659aa4]
mov ecx, dword [0x674198]
not eax
and ecx, eax
mov dword [0x674198], ecx
mov esi, 1
push 0x23ba
mov ecx, ebp
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x20], 2
mov dword [esp + 0x24], 4
mov dword [esp + 0x28], 5
mov dword [esp + 0x2c], 0x7f
call fcn.004839e0
xor ecx, ecx
lea edx, [esp + 0x14]
cmp eax, dword [edx]
je 0x485f35
inc ecx
add edx, 4
cmp ecx, 6
jb 0x485f1c
push 0x21
call fcn.0049bfc0
add esp, 4
jmp 0x485f5a
cmp ecx, 6
jb 0x485f46
push 0x21
call fcn.0049bfc0
add esp, 4
jmp 0x485f5a
mov ecx, dword [0x659a38]
mov eax, dword [0x67419c]
not ecx
and eax, ecx
mov dword [0x67419c], eax
push 0x23bd
mov ecx, ebp
call fcn.004839e0
xor ecx, ecx
lea edx, [esp + 0x14]
cmp eax, dword [edx]
je 0x485f85
inc ecx
add edx, 4
cmp ecx, 6
jb 0x485f6c
push 0x27
call fcn.0049bfc0
add esp, 4
jmp 0x485faa
cmp ecx, 6
jb 0x485f96
push 0x27
call fcn.0049bfc0
add esp, 4
jmp 0x485faa
mov edx, dword [0x659a50]
mov eax, dword [0x67419c]
not edx
and eax, edx
mov dword [0x67419c], eax
push 0x24a0
mov ecx, ebp
call fcn.004839e0
test eax, eax
jne 0x485ff8
mov eax, dword [0x636794]
mov ecx, dword [0x636790]
cmp ecx, eax
je 0x485ff8
mov ecx, dword [eax*8 + 0x636590]
mov edx, dword [eax*8 + 0x636594]
inc eax
mov dword [esp + 0x34], ecx
cmp eax, 0x40
mov dword [esp + 0x38], edx
jl 0x485fe7
xor eax, eax
mov dword [0x636794], eax
lea eax, [esp + 0x34]
push eax
mov ecx, ebp
call fcn.004850d0
push esi
push 0x26b0
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x486029
cmp dword [0x6b5f20], 0xa
jbe 0x486029
push 0x20
call fcn.0049bfc0
add esp, 4
mov ecx, ebp
push esi
push 0x26b0
call fcn.004838e0
push esi
push 0x23ca
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x486040
or dword [0x5c4930], esi
push esi
push 0x23cb
mov ecx, ebp
call fcn.00483920
mov edx, dword [0x8d7748]
xor ecx, ecx
cmp eax, edi
setne cl
and edx, esi
cmp ecx, edx
je 0x48607e
cmp eax, edi
mov eax, dword [0x8d7748]
je 0x48606d
or eax, esi
jmp 0x48606f
and al, 0xfe
mov dword [0x8d7748], eax
mov dword [0x8d733c], 0x20
push 1
push 0x23cd
mov ecx, ebp
call fcn.00483920
test eax, eax
mov edi, 0x22
mov ebx, 0x18
je 0x4860dd
call fcn.004795d0
mov ecx, eax
call fcn.00477ff0
test eax, eax
jl 0x4860cf
mov dword [esp + 0x14], 0x23
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], 0xd
mov eax, dword [esp + eax*4 + 0x14]
push eax
call fcn.0049bfc0
add esp, 4
push 1
push 0x23cd
mov ecx, ebp
call fcn.004838e0
push 1
push 0x23ce
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x486109
call fcn.004795d0
mov ecx, eax
call fcn.00478200
push 1
push 0x23ce
mov ecx, ebp
call fcn.004838e0
push 1
push 0x23cf
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x486160
call fcn.004795d0
mov ecx, eax
call fcn.004782c0
mov esi, eax
test esi, esi
jl 0x48614a
mov dword [esp + 0x34], 0x23
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebx
mov ecx, dword [esp + esi*4 + 0x34]
push ecx
call fcn.0049bfc0
add esp, 4
push 1
push 0x23cf
mov ecx, ebp
call fcn.004838e0
push esi
mov ecx, ebp
call fcn.00485250
push 1
push 0x23d0
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x4861b7
call fcn.004795d0
mov ecx, eax
call fcn.00478590
mov esi, eax
test esi, esi
jl 0x4861a1
mov dword [esp + 0x34], 0x23
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebx
mov edx, dword [esp + esi*4 + 0x34]
push edx
call fcn.0049bfc0
add esp, 4
push 1
push 0x23d0
mov ecx, ebp
call fcn.004838e0
push esi
mov ecx, ebp
call fcn.00485250
push 1
push 0x23d1
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x48620e
call fcn.004795d0
mov ecx, eax
call fcn.00478910
mov esi, eax
test esi, esi
jl 0x4861f8
mov dword [esp + 0x34], 0x23
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebx
mov eax, dword [esp + esi*4 + 0x34]
push eax
call fcn.0049bfc0
add esp, 4
push 1
push 0x23d1
mov ecx, ebp
call fcn.004838e0
push esi
mov ecx, ebp
call fcn.00485250
push 1
push 0x23d2
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x48626f
call fcn.004795d0
mov ecx, eax
call fcn.00478af0
mov esi, eax
test esi, esi
jl 0x48624f
mov dword [esp + 0x34], 0x23
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebx
mov ecx, dword [esp + esi*4 + 0x34]
push ecx
call fcn.0049bfc0
add esp, 4
push 1
push 0x23d2
mov ecx, ebp
call fcn.004838e0
push esi
mov ecx, ebp
call fcn.00485250
mov ecx, 0x8d72c8
call fcn.004cf9f0
push 1
push 0x23d4
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x4862d0
call fcn.004795d0
mov ecx, eax
call fcn.00478d30
mov esi, eax
test esi, esi
jl 0x4862b0
mov dword [esp + 0x34], 0x23
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], ebx
mov edx, dword [esp + esi*4 + 0x34]
push edx
call fcn.0049bfc0
add esp, 4
push 1
push 0x23d4
mov ecx, ebp
call fcn.004838e0
push esi
mov ecx, ebp
call fcn.00485250
mov ecx, 0x8d72c8
call fcn.004cf9f0
mov eax, dword [0x659a28]
mov ebx, dword [sym.imp.MSVCRT.dll_sprintf]
cmp eax, 0x10
jne 0x486355
push 1
push 0x26b7
mov ecx, ebp
call fcn.00483920
mov esi, eax
mov eax, dword [0x65e660]
cmp esi, eax
je 0x486355
mov ecx, 7
xor eax, eax
lea edi, [esp + 0x15]
mov byte [esp + 0x14], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov eax, dword [str._var_]
lea ecx, [esp + 0x14]
push eax
push str._sindex.html
push ecx
call ebx
add esp, 0xc
test esi, esi
je 0x486338
push 0x56de9c
lea edx, [esp + 0x18]
push 0x56de98
push edx
jmp 0x486347
push 0x56de98
lea eax, [esp + 0x18]
push 0x56de9c
push eax
call fcn.00473290
add esp, 0xc
mov dword [0x65e660], esi
push 1
push 0x23bd
mov ecx, ebp
call fcn.00483920
mov esi, eax
push 3
push 0x23c4
mov ecx, ebp
shl esi, 3
call fcn.00483920
or esi, eax
je 0x4863b7
call fcn.004775e0
mov ecx, dword [eax + 0x2008]
and ecx, 1
mov dword [esp + 0x34], ecx
jne 0x4863b7
call fcn.004775e0
mov ecx, dword [eax + 0x2008]
push 1
push esi
or ecx, 1
push 0x472f90
push 0x5fe43c
mov dword [eax + 0x2008], ecx
call fcn.00472a50
add esp, 0x10
call fcn.004775e0
mov edx, dword [eax + 0x2008]
and edx, 2
mov dword [esp + 0x34], edx
je 0x486409
mov ecx, 0x8d72c8
call fcn.004cf9f0
push 3
push 0x23c4
mov ecx, ebp
call fcn.004838e0
push 1
push 0x23bd
mov ecx, ebp
call fcn.004838e0
call fcn.004775e0
and dword [eax + 0x2008], 0xfffffffd
call fcn.004775e0
and dword [eax + 0x2008], 0xfffffffe
push 0x674188
mov ecx, ebp
call fcn.00485190
call fcn.00470a80
mov ecx, eax
call fcn.00470980
push 0x674198
mov ecx, ebp
call fcn.004851f0
mov eax, dword [0x6b5f20]
mov ecx, dword [0x659b30]
add eax, 0xfffffffe
cmp ecx, eax
jae 0x486471
push 3
push 0x2404
call fcn.00487160
mov ecx, eax
call fcn.004838e0
push 3
push 0x240e
call fcn.00487160
mov ecx, eax
call fcn.004838e0
mov ecx, dword [0x6b5f20]
mov dword [0x659b30], ecx
push 0x23ab
mov ecx, ebp
call fcn.004839e0
mov esi, eax
mov eax, dword [0x659b2c]
cmp esi, eax
je 0x486498
mov ecx, 0x675aa8
call fcn.004a1360
mov dword [0x659b2c], esi
push 1
push 0x23f1
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x486725
mov edx, dword [0x6b5f20]
mov ecx, dword [0x65e664]
sub edx, ecx
cmp edx, 2
jbe 0x486725
push 0x2557
call fcn.00487160
mov ecx, eax
call fcn.004839e0
mov esi, eax
cmp esi, 4
jb 0x4864df
xor esi, esi
lea eax, [esp + 0xcc]
mov ecx, ebp
push eax
call fcn.00484f50
lea edi, [esp + 0xcc]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
lea ecx, [esp + 0xd0]
push ecx
call fcn.00471b50
mov eax, dword [str.database_]
lea edx, [esp + 0xd4]
shl esi, 8
push edx
add esi, 0x5fdc68
push eax
push esi
lea ecx, [esp + 0x200]
push str._s_s_s
push ecx
call ebx
mov edx, dword [0x6b5f20]
lea eax, [esp + 0x208]
push 0x56c118
push eax
mov dword [0x65e664], edx
call dword [sym.imp.MSVCRT.dll_fopen]
mov edi, eax
add esp, 0x24
test edi, edi
je 0x48670d
lea ecx, [esp + 0x48]
call fcn.00477610
lea ecx, [esp + 0x7c]
call fcn.00477630
push 0
push 0
push edi
call dword [sym.imp.MSVCRT.dll_fseek]
mov esi, dword [sym.imp.MSVCRT.dll_fread]
push edi
push 0xe
lea ecx, [esp + 0x5c]
push 1
push ecx
call esi
push edi
push 0x28
lea edx, [esp + 0xa0]
push 1
push edx
call esi
mov esi, dword [esp + 0xac]
mov eax, dword [esp + 0x7e]
imul esi, dword [0x659a28]
add esi, 0x1f
add esp, 0x2c
sar esi, 3
lea ecx, [esp + 0x14]
and esi, 0xfffffffc
mov dword [esp + 0x44], eax
call fcn.004b2f80
mov ebx, dword [esp + 0x84]
mov eax, dword [0x65e668]
push 0x2582
mov ecx, ebp
mov dword [esp + 0xa2f8], 0
sub ebx, eax
call fcn.004839e0
cmp eax, ebx
jl 0x4865f4
mov eax, ebx
test eax, eax
mov dword [esp + 0x40], eax
jg 0x486607
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x40], ecx
mov ebx, dword [esp + 0x40]
imul ebx, esi
push ebx
call fcn.00470c30
mov edx, esi
mov dword [esp + 0x20], eax
imul edx, dword [0x65e668]
mov eax, dword [esp + 0x48]
push 0
add edx, eax
push edx
push edi
call dword [sym.imp.MSVCRT.dll_fseek]
mov eax, dword [esp + 0x2c]
push edi
push ebx
push 1
push eax
call dword [sym.imp.MSVCRT.dll_fread]
push edi
call dword [sym.imp.MSVCRT.dll_fclose]
mov ecx, dword [esp + 0x64]
mov edx, dword [0x659a28]
add esp, 0x24
mov eax, esi
push ecx
lea ecx, [edx + 7]
cdq
sar ecx, 3
idiv ecx
lea ecx, [esp + 0x38]
push eax
push 0
push 0
call fcn.004b4a60
mov edx, dword [eax]
push 0x2581
mov dword [esp + 0x18], edx
mov ecx, ebp
mov eax, dword [eax + 4]
mov byte [esp + 0x24], 1
mov dword [esp + 0x1c], eax
call fcn.004839e0
cmp eax, 0x32
jl 0x486696
mov eax, 0x32
test al, al
mov byte [esp + 0x22], al
mov byte [esp + 0x21], 0
jne 0x4866a8
mov byte [esp + 0x22], 0xa
lea ecx, [esp + 0x14]
push 0
push ecx
call fcn.004b37a0
add esp, 8
test eax, eax
je 0x4866c4
lea ecx, [esp + 0x14]
call fcn.004b2fd0
mov eax, dword [0x65e668]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x84]
add eax, edx
cmp eax, ecx
mov dword [0x65e668], eax
jl 0x4866f7
push 1
push 0x23f1
mov ecx, ebp
mov dword [0x65e668], 0
call fcn.004838e0
lea ecx, [esp + 0x14]
mov dword [esp + 0xa2f4], 0xffffffff
call fcn.004b2fa0
jmp 0x486725
push 1
push 0x23f1
mov ecx, ebp
mov dword [0x65e668], 0
call fcn.004838e0
push 1
push 0x23fa
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x48677f
push 0x258b
mov ecx, ebp
call fcn.004839e0
push 0x258c
mov ecx, ebp
mov esi, eax
call fcn.004839e0
xor ebx, ebx
cmp esi, ebx
jl 0x48676f
push eax
push esi
call fcn.004cbeb0
mov ecx, eax
call fcn.004cbe00
mov dword [0x8d733c], 0x20
push 1
push 0x23fa
mov ecx, ebp
call fcn.004838e0
jmp 0x486781
xor ebx, ebx
push 0x2584
mov ecx, ebp
call fcn.004839e0
cmp eax, ebx
mov dword [esp + 0x74], eax
jle 0x486865
inc eax
push 0x2583
cdq
sub eax, edx
mov ecx, ebp
mov esi, eax
sar esi, 1
call fcn.004839e0
mov dl, byte [0x6599e6]
lea ecx, [esp + 0x48]
mov byte [esp + 0x14], dl
mov byte [esp + 0x15], 0
mov byte [esp + 0x16], 0
mov byte [esp + 0x17], 2
mov byte [esp + 0x18], 2
mov byte [esp + 0x19], 0xff
mov word [esp + 0x1a], bx
mov dword [esp + 0x1c], eax
mov word [esp + 0x20], si
mov word [esp + 0x22], bx
call fcn.004b2f80
lea eax, [esi + esi]
mov dword [esp + 0xa2f4], 1
push eax
call fcn.00470c30
add esp, 4
lea ecx, [esi + esi]
lea edx, [esp + 0x14]
mov word [esp + 0x48], cx
push eax
push edx
mov ecx, ebp
mov dword [esp + 0x58], eax
mov byte [esp + 0x5c], 0xd
call fcn.00482d80
lea eax, [esp + 0x48]
push ebx
push eax
call fcn.004b37a0
add esp, 8
test eax, eax
je 0x48683c
lea ecx, [esp + 0x48]
call fcn.004b2fd0
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], ebx
push ecx
push 0x2584
mov ecx, ebp
call fcn.00483a40
lea ecx, [esp + 0x48]
mov dword [esp + 0xa2f4], 0xffffffff
call fcn.004b2fa0
call fcn.0047d8d0
mov ecx, eax
call fcn.0047d8a0
call fcn.004b3de0
mov ecx, eax
call fcn.004b3c50
push 1
push 0x26c1
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x4869a0
xor edx, edx
mov byte [esp + 0x14], 0
mov dword [esp + 0x15], edx
mov dword [esp + 0x19], edx
mov dword [esp + 0x1d], edx
mov word [esp + 0x21], dx
mov byte [esp + 0x23], dl
call fcn.0047de30
mov ecx, eax
call fcn.0049d440
test eax, eax
jne 0x48696f
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x80
jl 0x4868ed
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x96
jl 0x48696f
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0x96
jl 0x486913
call fcn.0047de30
mov ecx, eax
call fcn.0047e5d0
cmp eax, 0xe6
jl 0x48696f
push ebx
call fcn.004328b0
add esp, 4
cmp eax, 3
jge 0x48696f
call fcn.004716b0
test eax, eax
jne 0x48696f
mov ecx, 0x13
lea edi, [esp + 0x7d]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea eax, [esp + 0x7c]
push 0x42
push eax
mov byte [esp + 0x84], 0x43
mov byte [esp + 0x85], 0x10
call fcn.00471c10
lea ecx, [esp + 0x84]
push 0x43
push ecx
mov byte [esp + 0xce], al
call fcn.004328b0
add esp, 0x10
jmp 0x486983
push 0x10
lea edx, [esp + 0x18]
push pe_nt_image_headers32
push edx
call fcn.004328b0
add esp, 0xc
call fcn.004cb040
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x8c]
push 1
push 0x2355
mov ecx, ebp
call fcn.004838b0
push 1
push 0x2394
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x4869cf
call fcn.004704c0
mov ecx, 0x8d72c8
call fcn.004cf9f0
push 1
push 0x2394
mov ecx, ebp
call fcn.004838e0
push 1
push 0x24cd
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x486cbd
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0xed]
mov byte [esp + 0xec], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x25d0
mov ecx, ebp
stosb byte es:[edi], al
call fcn.004839e0
mov cl, byte [0x6599e6]
mov dword [esp + 0x1c], eax
lea edx, [esp + 0xec]
lea eax, [esp + 0x14]
mov byte [esp + 0x14], cl
push edx
push eax
mov ecx, ebp
mov byte [esp + 0x1d], 0
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 2
mov byte [esp + 0x20], 2
mov byte [esp + 0x21], 0xff
mov word [esp + 0x22], bx
mov word [esp + 0x28], 0x80
mov word [esp + 0x2a], bx
call fcn.00482d80
lea ecx, [esp + 0xec]
push pe_nt_image_headers32
push ecx
call fcn.00471b50
mov al, byte [esp + 0xf4]
add esp, 8
test al, al
je 0x486caf
mov ecx, 0x3f
xor eax, eax
lea edi, [esp + 0x1ed]
mov byte [esp + 0x1ec], 0
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
lea edx, [esp + 0x1ec]
lea eax, [esp + 0xec]
push edx
push eax
call fcn.00471ff0
add esp, 8
mov ecx, ebp
push 0x25d4
call fcn.004839e0
cmp eax, ebx
jg 0x486ac3
xor eax, eax
jmp 0x486acd
cmp eax, 3
jl 0x486acd
mov eax, 3
push 1
push 2
push eax
lea ecx, [esp + 0x1f8]
push ebx
push ecx
call fcn.00511c40
add esp, 0x14
mov edi, eax
lea eax, [esp + 0x68]
mov ecx, ebp
mov edx, dword [edi + 4]
push eax
push 0x25d2
mov dword [esp + 0x3c], edi
mov dword [esp + 0x70], edx
call fcn.00483a40
push 0x25d3
mov ecx, ebp
call fcn.004839e0
mov esi, eax
cmp esi, ebx
jg 0x486b1a
mov esi, 0xa0
jmp 0x486b27
cmp esi, 0xc8
jle 0x486b27
mov esi, 0xc8
mov edx, dword [edi + 8]
lea ecx, [esp + 0x2ec]
cmp esi, ebx
mov dword [esp + 0x60], ecx
mov dword [esp + 0x6c], edx
mov dword [esp + 0x64], ebx
jbe 0x486bd6
mov ecx, dword [esp + 0x68]
mov eax, dword [esp + 0x60]
xor edx, edx
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x64]
imul eax, ecx
div esi
lea edi, [ecx - 1]
cmp eax, edi
mov dword [esp + 0x40], eax
jl 0x486b6b
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x40]
imul eax, ecx
mov dword [esp + 0x78], eax
xor ebx, ebx
mov eax, ebx
xor edx, edx
imul eax, ecx
div esi
lea edi, [ecx - 1]
cmp eax, edi
jl 0x486b8a
mov eax, edi
cmp dword [esp + 0x40], ecx
jae 0x486bb0
cmp eax, ecx
jae 0x486bb0
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x6c]
add eax, ecx
mov cl, byte [eax + edx]
mov eax, dword [esp + 0x44]
mov byte [eax], cl
mov ecx, dword [esp + 0x68]
inc eax
mov dword [esp + 0x44], eax
inc ebx
cmp ebx, esi
jb 0x486b78
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
inc eax
add edi, esi
cmp eax, esi
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], edi
jb 0x486b49
mov edi, dword [esp + 0x34]
xor ebx, ebx
imul esi, esi
xor ecx, ecx
cmp esi, ebx
jle 0x486c43
test byte [esp + ecx + 0x2ec], 1
mov eax, ecx
cdq
je 0x486c15
and edx, 7
add eax, edx
mov edx, ecx
sar eax, 3
and edx, 0x80000007
lea eax, [esp + eax + 0x2ec]
jns 0x486c0a
dec edx
or edx, 0xfffffff8
inc edx
mov dl, byte [edx*4 + 0x659a34]
or byte [eax], dl
jmp 0x486c3e
and edx, 7
add eax, edx
mov edx, ecx
sar eax, 3
and edx, 0x80000007
lea eax, [esp + eax + 0x2ec]
jns 0x486c33
dec edx
or edx, 0xfffffff8
inc edx
mov dl, byte [edx*4 + 0x659a34]
not dl
and byte [eax], dl
inc ecx
cmp ecx, esi
jl 0x486bdf
push edi
call fcn.005116b0
add esp, 4
mov ecx, ebp
push 0x25d1
call fcn.004839e0
mov dword [esp + 0x50], eax
lea eax, [esi + 0xf]
cdq
mov cl, byte [0x6599e6]
and edx, 0xf
add eax, edx
lea edx, [esp + 0x2ec]
sar eax, 4
mov word [esp + 0x54], ax
push ebx
lea eax, [esp + 0x4c]
mov byte [esp + 0x4c], cl
push edx
push eax
mov ecx, ebp
mov byte [esp + 0x55], 0
mov byte [esp + 0x56], 0
mov byte [esp + 0x57], 2
mov byte [esp + 0x58], 2
mov byte [esp + 0x59], 0xff
mov word [esp + 0x5a], bx
mov word [esp + 0x62], bx
call fcn.00482f60
push 1
push 0x24cd
mov ecx, ebp
call fcn.004838e0
mov eax, dword [0x65e66c]
cmp eax, ebx
je 0x486d45
mov ecx, dword [0x6b5f20]
add eax, 2
cmp ecx, eax
jb 0x486d45
mov eax, dword [0x655f48]
mov word [esp + 0x14], bx
mov word [esp + 0x16], bx
mov dword [esp + 0x1c], 0xffffffff
lea ecx, [eax + 1]
mov word [esp + 0x22], bx
and ecx, 0x8000003f
mov word [esp + 0x20], bx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], 2
jns 0x486d10
dec ecx
or ecx, 0xffffffc0
inc ecx
cmp ecx, dword [0x655f4c]
je 0x486d3f
lea edx, [eax + eax*4]
mov ecx, 5
lea esi, [esp + 0x14]
lea edi, [edx*4 + 0x655a48]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x655f48]
inc eax
cmp eax, 0x40
jl 0x486d3a
xor eax, eax
mov dword [0x655f48], eax
mov dword [0x65e66c], ebx
push 0x2538
mov ecx, ebp
call fcn.004839e0
cmp eax, ebx
mov dword [esp + 0x5c], eax
je 0x486e47
or ecx, 0xffffffff
cmp eax, 0x41
mov word [esp + 0x48], bx
mov word [esp + 0x4a], bx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ecx
mov word [esp + 0x56], bx
mov word [esp + 0x54], bx
mov dword [esp + 0x58], ebx
mov word [esp + 0x14], bx
mov word [esp + 0x16], bx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
mov word [esp + 0x22], bx
mov word [esp + 0x20], bx
mov dword [esp + 0x24], ebx
jl 0x486f0e
cmp eax, 0x66
jg 0x486f0e
push 1
push 0x26be
mov ecx, ebp
call fcn.00483920
test eax, eax
jne 0x486f0a
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x18], 1
add ecx, 0xffffffc0
shl ecx, 8
mov word [esp + 0x14], cx
mov eax, dword [0x655f48]
lea edx, [eax + 1]
and edx, 0x8000003f
jns 0x486df4
dec edx
or edx, 0xffffffc0
inc edx
cmp edx, dword [0x655f4c]
je 0x486e26
lea eax, [eax + eax*4]
mov ecx, 5
lea esi, [esp + 0x14]
lea edi, [eax*4 + 0x655a48]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x655f48]
lea eax, [ecx + 1]
cmp eax, 0x40
jl 0x486e21
xor eax, eax
mov dword [0x655f48], eax
mov edx, dword [0x6b5f20]
mov dword [0x65e66c], edx
lea eax, [esp + 0x5c]
mov ecx, ebp
push eax
push 0x2538
mov dword [esp + 0x64], ebx
call fcn.00483a40
push 2
push 0x23fb
mov ecx, ebp
call fcn.00483920
mov esi, eax
cmp esi, ebx
je 0x486e8d
test dword [0x659a34], esi
je 0x486e68
call fcn.004121c0
test dword [0x659a38], esi
je 0x486e75
call fcn.004122f0
mov ecx, 0x8d72c8
call fcn.004cf9f0
push 2
push 0x23fb
mov ecx, ebp
call fcn.004838e0
push 1
push 0x23ff
mov ecx, ebp
call fcn.00483920
test eax, eax
je 0x486ee2
push 0x2592
mov ecx, ebp
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ebx
call fcn.004839e0
push 0x2593
mov ecx, ebp
mov dword [esp + 0x70], eax
call fcn.004839e0
lea ecx, [esp + 0x6c]
mov dword [esp + 0x70], eax
push ecx
call fcn.00414020
add esp, 4
mov ecx, ebp
push 1
push 0x23ff
call fcn.004838e0
push 1
push 0x2361
mov ecx, ebp
call fcn.00483920
test eax, eax
mov eax, dword [0x6b5f20]
je 0x48703b
mov ecx, eax
mov dword [0x659b28], ecx
jmp 0x487041
mov eax, dword [esp + 0x5c]
lea ecx, [eax - 8]
cmp ecx, 0x3d
ja case.0x486f22.16
xor edx, edx
mov dl, byte [ecx + 0x4870e0]
jmp dword [edx*4 + 0x4870bc]
mov dword [esp + 0x4c], 0x103
mov eax, dword [0x654638]
lea edx, [eax + 1]
and edx, 0x8000003f
jns 0x486f46
dec edx
or edx, 0xffffffc0
inc edx
cmp edx, dword [0x65463c]
je 0x486e32
lea eax, [eax + eax*4]
mov ecx, 5
lea esi, [esp + 0x48]
lea edi, [eax*4 + 0x654138]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [0x654638]
lea eax, [ecx + 1]
cmp eax, 0x40
jl 0x486f77
xor eax, eax
mov dword [0x654638], eax
jmp 0x486e32
mov dword [esp + 0x18], 1
mov word [esp + 0x14], 0xcb00
jmp 0x486ddf
mov dword [esp + 0x18], 1
mov word [esp + 0x14], 0xcc00
jmp 0x486ddf
mov dword [esp + 0x18], 1
mov word [esp + 0x14], 0xcd00
jmp 0x486ddf
mov dword [esp + 0x18], 1
mov word [esp + 0x14], 0xce00
jmp 0x486ddf
mov dword [esp + 0x18], 1
mov word [esp + 0x14], 0xc900
jmp 0x486ddf
mov dword [esp + 0x18], 1
mov word [esp + 0x14], 0xca00
jmp 0x486ddf
add eax, 0xffffffc0
mov dword [esp + 0x18], 1
shl eax, 8
mov word [esp + 0x14], ax
jmp 0x486ddf
cmp dword [0x6b11e0], ebx
je 0x48702a
mov dword [esp + 0x4c], 0x105
mov dword [esp + 0x48], eax
jmp 0x486f31
xor ecx, ecx
mov dword [esp + 0x18], 1
mov ch, al
jmp 0x486dda
mov ecx, dword [0x659b28]
cmp ecx, ebx
je 0x487066
sub eax, ecx
cmp eax, 0x14
jbe 0x487066
push ebx
call fcn.0047ee50
add esp, 4
cmp eax, ebx
je 0x487060
mov ecx, eax
call fcn.0047ed50
mov dword [0x659b28], ebx
push 1
call fcn.00487130
add esp, 4
mov ecx, ebp
push 1
push 0x26ca
call fcn.00483920
test eax, eax
mov eax, dword [0x65a630]
je 0x48708b
or al, 4
jmp 0x48708d
and al, 0xfb
mov ecx, dword [esp + 0xa2ec]
pop edi
pop esi
pop ebp
mov dword [0x65a630], eax
mov dword fs:[0], ecx
pop ebx
add esp, 0xa2e8
ret