Function at 0x5fe0c0
Capabilities:
Hash data with md5

Disassembly:
push ebp
lea ebp, [esp - 0x244]
sub esp, 0x244
push 0xffffffffffffffff
push 0x647bb0
mov eax, dword fs:[0]
push eax
sub esp, 0x94
mov eax, dword [0x6a6040]
xor eax, ebp
mov dword [ebp + 0x240], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov dword [ebp - 0x14], esi
mov ebx, dword [ebp + 0x24c]
xor eax, eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x34], 1
mov dword [ebp - 0x20], esi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 4], eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x50], eax
lea ecx, [esi + 0x20]
mov byte [ebp - 4], 1
mov eax, dword [ecx]
test eax, eax
je 0x5fe332
cmp dword [eax + 4], 0x28
jb 0x5fe332
mov eax, dword [eax + 0xc]
cmp byte [eax + 0x16], 0
jge 0x5fe332
push 0xffffffffffffffff
push 0x28
lea eax, [ebp - 0x24]
push eax
call fcn.005ac6c0
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x5fe316
mov edi, dword [ecx + 4]
cmp edi, 8
jl 0x5fe316
mov eax, dword [ecx + 0xc]
movzx edx, word [eax + 4]
movzx ebx, word [eax + 2]
sub edx, 0x28
cmp edx, 8
jl 0x5fe316
lea eax, [edx + ebx]
cmp eax, edi
jg 0x5fe316
push ebx
push edx
lea eax, [ebp - 0x18]
push eax
lea ecx, [ebp - 0x24]
call fcn.005ac6c0
push eax
lea ecx, [ebp - 0x24]
call fcn.005a5c80
lea ecx, [ebp - 0x18]
call fcn.004250c0
push 8
push 0
lea ecx, [ebp - 0x30]
call fcn.005a56f0
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x5fe1d8
mov edi, dword [eax + 0xc]
jmp 0x5fe1dd
mov edi, 0x651f68
call fcn.005faa00
push 8
push edi
mov ecx, eax
call fcn.005fa710
push 8
lea eax, [esi + 0x18]
push eax
lea ecx, [ebp - 0x2c]
call fcn.005a56f0
push ecx
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 5
mov ecx, esp
push eax
call fcn.005a5bd0
push ecx
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.005a5bd0
push ecx
lea eax, [ebp - 0x24]
mov ecx, esp
push eax
call fcn.005a5bd0
push ecx
lea edi, [esi + 0x14]
mov ecx, esp
push edi
call fcn.005a5bd0
push ecx
lea ebx, [esi + 0x10]
mov ecx, esp
push ebx
call fcn.005a5bd0
push ecx
lea eax, [esi + 8]
mov ecx, esp
push eax
call fcn.005a5bd0
lea eax, [ebp - 0x18]
push eax
call fcn.005fcda0
push eax
lea ecx, [ebp - 0x3c]
call fcn.005a5c80
lea ecx, [ebp - 0x18]
call fcn.004250c0
push ecx
lea eax, [ebp - 0x30]
mov ecx, esp
push eax
call fcn.005a5bd0
push ecx
lea eax, [ebp - 0x2c]
mov ecx, esp
push eax
call fcn.005a5bd0
push ecx
mov ecx, esp
push edi
call fcn.005a5bd0
push ecx
mov ecx, esp
push ebx
call fcn.005a5bd0
push ecx
lea eax, [esi + 8]
mov ecx, esp
push eax
call fcn.005a5bd0
lea eax, [ebp - 0x18]
push eax
call fcn.005fcf50
push eax
lea ecx, [ebp - 0x50]
call fcn.005a5c80
lea ecx, [ebp - 0x18]
call fcn.004250c0
mov dword [ebp - 4], 4
jmp 0x5fe2f7
lea ecx, [ebp - 0x2c]
call fcn.004250c0
lea ecx, [ebp - 0x30]
call fcn.004250c0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x24]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 1
test ecx, ecx
je 0x5fe332
or ebx, 0xffffffff
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5fe335
push ecx
call fcn.005a47b0
jmp 0x5fe335
or ebx, 0xffffffff
push 0x40
lea eax, [ebp - 0xa0]
push 0
push eax
call fcn.00608810
mov edi, dword [esi + 0x14]
add esp, 0xc
mov dword [ebp - 0xa0], 0x4d4c544e
mov eax, 0xffff8201
mov dword [ebp - 0x9c], 0x505353
mov byte [ebp - 0x98], 3
mov word [ebp - 0x64], ax
test edi, edi
je 0x5fe378
mov edi, dword [edi + 0xc]
jmp 0x5fe37d
mov edi, 0x651f68
mov dword [ebp - 0x24], edi
lea ecx, [edi + 1]
mov al, byte [edi]
inc edi
test al, al
jne 0x5fe383
sub edi, ecx
cmp edi, 0xe
jle 0x5fe398
mov edi, 0xe
jmp 0x5fe39e
xor esi, esi
test edi, edi
jle 0x5fe3c6
mov ebx, dword [ebp - 0x24]
xor esi, esi
movsx eax, byte [esi + ebx]
push eax
call fcn.0061490e
mov byte [ebp + esi + 0x224], al
add esp, 4
inc esi
cmp esi, edi
jl 0x5fe3a3
mov ebx, 0xffffffff
cmp esi, 0xe
jge 0x5fe3dd
cmp esi, 0xe
jae 0x5ff0c6
mov byte [ebp + esi + 0x224], 0
inc esi
cmp esi, 0xe
jl 0x5fe3c9
lea edx, [ebp + 0x58]
mov dword [ebp + 0x238], 0x2153474b
lea ecx, [ebp + 0x224]
mov dword [ebp + 0x23c], 0x25242340
call fcn.005fcbf0
push ecx
lea eax, [ebp + 0x58]
push eax
lea edx, [ebp + 0x208]
lea ecx, [ebp + 0x238]
call fcn.006004f0
lea edx, [ebp + 0x58]
lea ecx, [ebp + 0x22b]
call fcn.005fcbf0
add esp, 4
lea eax, [ebp + 0x58]
lea edx, [ebp + 0x210]
lea ecx, [ebp + 0x238]
push eax
call fcn.006004f0
mov edi, dword [ebp - 0x24]
add esp, 8
mov esi, edi
mov dword [ebp + 0x218], 0
mov byte [ebp + 0x21c], 0
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x5fe457
sub esi, ecx
call fcn.005a45d0
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 7
test eax, eax
je 0x5fe49c
lea ecx, [esi + esi]
push 0
push ecx
mov dword [ebp - 0x48], ecx
mov ecx, eax
push 0
call fcn.005a57f0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x5c], eax
test eax, eax
je 0x5fe4aa
cmp dword [eax + 0xc], 0
jne 0x5fe4aa
push ecx
mov ecx, eax
call fcn.005a47b0
jmp 0x5fe4a2
lea eax, [esi + esi]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], eax
test eax, eax
je 0x5fe4b3
mov edx, dword [eax + 0xc]
jmp 0x5fe4b8
mov edx, 0x651f68
xor ecx, ecx
test esi, esi
jle 0x5fe4d5
nop
mov al, byte [ecx + edi]
mov byte [edx + ecx*2], al
mov byte [edx + ecx*2 + 1], 0
inc ecx
cmp ecx, esi
jl 0x5fe4c0
lea eax, [esi + esi]
jmp 0x5fe4d8
mov eax, dword [ebp - 0x48]
push eax
lea ecx, [ebp]
mov dword [ebp + 0x14], 0
mov dword [ebp + 0x10], 0
mov dword [ebp], 0x67452301
mov dword [ebp + 4], 0xefcdab89
mov dword [ebp + 8], 0x98badcfe
mov dword [ebp + 0xc], 0x10325476
call fcn.00606270
add esp, 4
lea eax, [ebp + 0x220]
lea ecx, [ebp]
push eax
call fcn.00606970
mov esi, dword [ebp - 0x14]
lea edx, [ebp + 0x118]
lea ecx, [ebp + 0x208]
mov dword [ebp + 0x230], 0
mov byte [ebp + 0x234], 0
add esi, 0x18
call fcn.005fcbf0
push ecx
lea eax, [ebp + 0x118]
mov ecx, esi
push eax
lea edx, [ebp + 0x1f0]
call fcn.006004f0
lea edx, [ebp + 0x118]
lea ecx, [ebp + 0x20f]
call fcn.005fcbf0
add esp, 4
lea eax, [ebp + 0x118]
lea edx, [ebp + 0x1f8]
mov ecx, esi
push eax
call fcn.006004f0
lea edx, [ebp + 0x118]
lea ecx, [ebp + 0x216]
call fcn.005fcbf0
add esp, 4
lea eax, [ebp + 0x118]
lea edx, [ebp + 0x200]
mov ecx, esi
push eax
call fcn.006004f0
lea edx, [ebp + 0x118]
lea ecx, [ebp + 0x220]
call fcn.005fcbf0
add esp, 4
lea eax, [ebp + 0x118]
lea edx, [ebp + 0x1d8]
mov ecx, esi
push eax
call fcn.006004f0
lea edx, [ebp + 0x118]
lea ecx, [ebp + 0x227]
call fcn.005fcbf0
add esp, 4
lea eax, [ebp + 0x118]
lea edx, [ebp + 0x1e0]
mov ecx, esi
push eax
call fcn.006004f0
lea edx, [ebp + 0x118]
lea ecx, [ebp + 0x22e]
call fcn.005fcbf0
add esp, 4
lea eax, [ebp + 0x118]
lea edx, [ebp + 0x1e8]
mov ecx, esi
push eax
call fcn.006004f0
add esp, 8
mov dword [ebp - 0x24], 0
mov byte [ebp - 4], 9
mov esi, dword [ebp - 0x14]
mov eax, dword [esi + 0xc]
test eax, eax
je 0x5fe63f
mov eax, dword [eax + 4]
jmp 0x5fe641
xor eax, eax
push 0
lea eax, [eax*4 + 0x64]
push eax
lea ecx, [ebp + 0x220]
call fcn.005b8b90
mov byte [ebp - 4], 0xa
mov eax, dword [esi + 0xc]
test eax, eax
je 0x5fe669
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
jmp 0x5fe670
xor ecx, ecx
mov eax, 0x651f68
push dword [ebp + 0x228]
mov edi, dword [ebp + 0x224]
push edi
push ecx
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x18], eax
call fcn.005a45d0
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0xb
test eax, eax
je 0x5fe6ca
mov edx, dword [ebp - 0x18]
xor ecx, ecx
test edx, edx
push 0
cmovns ecx, edx
add ecx, ecx
push ecx
push edi
mov ecx, eax
call fcn.005a57f0
test eax, eax
je 0x5fe6ca
cmp dword [eax + 0xc], 0
jne 0x5fe6c7
push ecx
mov ecx, eax
call fcn.005a47b0
jmp 0x5fe6ca
mov dword [ebp - 0x24], eax
push edi
call fcn.00606eda
xor edi, edi
add esp, 4
mov dword [ebp - 0x48], edi
mov byte [ebp - 4], 0xc
mov eax, dword [esi + 0x10]
test eax, eax
je 0x5fe6e8
mov eax, dword [eax + 4]
jmp 0x5fe6ea
xor eax, eax
push 0
lea eax, [eax*4 + 0x64]
push eax
lea ecx, [ebp + 0x220]
call fcn.005b8b90
mov byte [ebp - 4], 0xd
mov eax, dword [esi + 0x10]
test eax, eax
je 0x5fe712
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
jmp 0x5fe719
xor ecx, ecx
mov eax, 0x651f68
push dword [ebp + 0x228]
mov esi, dword [ebp + 0x224]
push esi
push ecx
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x18], eax
call fcn.005a45d0
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0xe
test eax, eax
je 0x5fe775
mov edx, dword [ebp - 0x18]
xor ecx, ecx
test edx, edx
push 0
cmovns ecx, edx
add ecx, ecx
push ecx
push esi
mov ecx, eax
call fcn.005a57f0
test eax, eax
je 0x5fe775
cmp dword [eax + 0xc], 0
jne 0x5fe770
push ecx
mov ecx, eax
call fcn.005a47b0
jmp 0x5fe775
mov edi, eax
mov dword [ebp - 0x48], edi
push esi
call fcn.00606eda
xor esi, esi
add esp, 4
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 0xf
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
test eax, eax
je 0x5fe796
mov eax, dword [eax + 4]
jmp 0x5fe798
xor eax, eax
push 0
lea eax, [eax*4 + 0x64]
push eax
lea ecx, [ebp + 0x220]
call fcn.005b8b90
mov byte [ebp - 4], 0x10
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 4]
test eax, eax
je 0x5fe7c3
mov ecx, dword [eax + 4]
mov eax, dword [eax + 0xc]
jmp 0x5fe7ca
xor ecx, ecx
mov eax, 0x651f68
push dword [ebp + 0x228]
push dword [ebp + 0x224]
push ecx
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
mov dword [ebp - 0x18], eax
call fcn.005a45d0
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x11
test eax, eax
je 0x5fe82a
mov edx, dword [ebp - 0x18]
xor ecx, ecx
test edx, edx
push 0
cmovns ecx, edx
add ecx, ecx
push ecx
push dword [ebp + 0x224]
mov ecx, eax
call fcn.005a57f0
test eax, eax
je 0x5fe82a
cmp dword [eax + 0xc], 0
jne 0x5fe825
push ecx
mov ecx, eax
call fcn.005a47b0
jmp 0x5fe82a
mov esi, eax
mov dword [ebp - 0x54], esi
mov byte [ebp - 4], 0xf
push dword [ebp + 0x224]
call fcn.00606eda
mov eax, 0x40
add esp, 4
mov word [ebp - 0x80], ax
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x5fe851
mov ecx, dword [eax + 4]
jmp 0x5fe853
xor ecx, ecx
mov word [ebp - 0x82], cx
mov word [ebp - 0x84], cx
test eax, eax
je 0x5fe86a
mov edx, dword [eax + 4]
jmp 0x5fe86c
xor edx, edx
add edx, 0x40
mov word [ebp - 0x78], dx
test edi, edi
je 0x5fe87c
mov eax, dword [edi + 4]
jmp 0x5fe87e
xor eax, eax
mov word [ebp - 0x7a], ax
mov word [ebp - 0x7c], ax
test edi, edi
je 0x5fe88f
mov eax, dword [edi + 4]
jmp 0x5fe891
xor eax, eax
add edx, eax
mov word [ebp - 0x70], dx
test esi, esi
je 0x5fe8a0
mov eax, dword [esi + 4]
jmp 0x5fe8a2
xor eax, eax
mov word [ebp - 0x72], ax
mov word [ebp - 0x74], ax
test esi, esi
je 0x5fe8b3
mov eax, dword [esi + 4]
jmp 0x5fe8b5
xor eax, eax
mov ecx, dword [ebp - 0x30]
add edx, eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x14], edx
mov word [ebp - 0x90], dx
test eax, eax
je 0x5fe8e8
test ecx, ecx
je 0x5fe8e8
mov edx, dword [ecx + 4]
add dword [ebp - 0x14], edx
mov word [ebp - 0x92], dx
mov word [ebp - 0x94], dx
mov edx, dword [ebp - 0x14]
jmp 0x5fe8f5
mov dword [ebp - 0x94], 0x180018
add edx, 0x18
mov word [ebp - 0x88], dx
test eax, eax
je 0x5fe919
test ecx, ecx
je 0x5fe919
mov eax, dword [eax + 4]
add edx, eax
mov word [ebp - 0x8a], ax
mov word [ebp - 0x8c], ax
jmp 0x5fe926
mov dword [ebp - 0x8c], 0x180018
add edx, 0x18
mov word [ebp - 0x68], dx
call fcn.005a45d0
mov esi, eax
mov dword [ebp - 0x1c], esi
mov byte [ebp - 4], 0x12
test esi, esi
je 0x5fe99b
mov dword [esi], 1
mov edi, 0x100
push 0x48
mov dword [esi + 4], 0x40
mov word [esi + 0x10], di
call fcn.00606f0f
push dword [esi + 4]
lea ecx, [ebp - 0xa0]
mov dword [esi + 0xc], eax
push ecx
push eax
call fcn.00609db0
mov ecx, dword [esi + 4]
add esp, 0x10
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x44], esi
mov dword [ecx + eax], 0
mov dword [ecx + eax + 4], 0
mov ecx, esi
mov eax, esi
test esi, esi
je 0x5fe9a4
cmp dword [esi + 0xc], 0
jne 0x5fe9a4
push ecx
call fcn.005a47b0
xor esi, esi
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x44], esi
test ecx, ecx
je 0x5fe9b0
lock inc dword [eax]
mov dword [ebp - 0x14], esi
jmp 0x5fe9b7
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x24]
mov byte [ebp - 4], 0x14
push eax
lea ecx, [ebp - 0x14]
call fcn.005a6990
mov edi, dword [eax]
mov dword [ebp - 0x18], edi
test edi, edi
je 0x5fe9e2
lock inc dword [edi]
mov ecx, edi
mov dword [ebp - 0x4c], edi
mov dword [ebp - 0x34], edi
mov eax, edi
mov dword [ebp - 0x20], edi
jmp 0x5fe9f4
xor ecx, ecx
xor edi, edi
xor eax, eax
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x20], eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x40], edi
test edx, edx
je 0x5fea1d
mov eax, ebx
lock xadd dword [edx], eax
dec eax
mov eax, dword [ebp - 0x34]
mov ecx, edi
jne 0x5fea1d
push ecx
mov ecx, edx
call fcn.005a47b0
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x20]
test ecx, ecx
je 0x5fea29
lock inc dword [eax]
mov dword [ebp - 0x14], edi
jmp 0x5fea30
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x48]
mov byte [ebp - 4], 0x16
push eax
lea ecx, [ebp - 0x14]
call fcn.005a6990
mov edi, dword [eax]
test edi, edi
je 0x5fea58
lock inc dword [edi]
mov ecx, edi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x4c], edi
mov eax, edi
mov dword [ebp - 0x34], edi
jmp 0x5fea67
xor ecx, ecx
xor edi, edi
xor eax, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x14]
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
test edx, edx
je 0x5fea90
mov eax, ebx
lock xadd dword [edx], eax
dec eax
mov eax, dword [ebp - 0x4c]
mov ecx, edi
jne 0x5fea90
push ecx
mov ecx, edx
call fcn.005a47b0
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
test ecx, ecx
je 0x5fea9c
lock inc dword [eax]
mov dword [ebp - 0x14], edi
jmp 0x5feaa3
mov dword [ebp - 0x14], 0
lea eax, [ebp - 0x54]
mov byte [ebp - 4], 0x18
push eax
lea ecx, [ebp - 0x14]
call fcn.005a6990
mov ecx, dword [eax]
test ecx, ecx
je 0x5feac3
lock inc dword [ecx]
mov eax, dword [ebp - 0x28]
mov dword [eax], ecx
jmp 0x5feacc
mov eax, dword [ebp - 0x28]
mov dword [eax], 0
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x5feae2
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5feae2
push ecx
call fcn.005a47b0
mov dword [ebp - 0x34], 0xf
test edi, edi
je 0x5feafe
mov eax, ebx
lock xadd dword [edi], eax
dec eax
jne 0x5feafe
push ecx
mov ecx, edi
call fcn.005a47b0
mov ecx, dword [ebp - 0x18]
test ecx, ecx
je 0x5feb14
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5feb14
push ecx
call fcn.005a47b0
mov dword [ebp - 4], 0x1c
test esi, esi
je 0x5feb30
mov eax, ebx
lock xadd dword [esi], eax
dec eax
jne 0x5feb30
push ecx
mov ecx, esi
call fcn.005a47b0
cmp dword [ebp - 0x2c], 0
je 0x5febca
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x5febca
lock inc dword [eax]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x3c]
mov dword [ebp - 4], 0x1d
push eax
lea ecx, [ebp - 0x18]
call fcn.005a6990
mov eax, dword [eax]
test eax, eax
je 0x5feb6c
lock inc dword [eax]
mov dword [ebp - 0x14], eax
jmp 0x5feb73
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp - 0x18]
mov dword [ebp - 0x34], 0x4f
test ecx, ecx
je 0x5feb90
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5feb90
push ecx
call fcn.005a47b0
mov dword [ebp - 4], 0x1e
lea eax, [ebp - 0x14]
mov edi, dword [ebp - 0x28]
mov ecx, edi
push eax
call fcn.005a6990
mov byte [ebp - 4], 0x1c
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x5febbf
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5febbf
push ecx
call fcn.005a47b0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x2c], eax
jmp 0x5fed70
call fcn.005a45d0
mov esi, eax
mov dword [ebp + 0x23c], esi
mov dword [ebp - 4], 0x1f
test esi, esi
je 0x5fec3f
mov dword [esi], 1
mov eax, 0x100
push 0x20
mov dword [esi + 4], 0x18
mov word [esi + 0x10], ax
call fcn.00606f0f
push dword [esi + 4]
lea ecx, [ebp + 0x1f0]
mov dword [esi + 0xc], eax
push ecx
push eax
call fcn.00609db0
mov ecx, dword [esi + 0xc]
add esp, 0x10
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], esi
mov dword [ecx + eax], 0
mov dword [ecx + eax + 4], 0
test esi, esi
je 0x5fec44
cmp dword [esi + 0xc], 0
jne 0x5fec44
push ecx
mov ecx, esi
call fcn.005a47b0
xor esi, esi
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x20
call fcn.005a45d0
mov edi, eax
mov dword [ebp + 0x23c], edi
mov byte [ebp - 4], 0x21
test edi, edi
je 0x5fecbd
mov dword [edi], 1
mov eax, 0x100
push 0x20
mov dword [edi + 4], 0x18
mov word [edi + 0x10], ax
call fcn.00606f0f
push dword [edi + 4]
lea ecx, [ebp + 0x1d8]
mov dword [edi + 0xc], eax
push ecx
push eax
call fcn.00609db0
mov ecx, dword [edi + 0xc]
add esp, 0x10
mov eax, dword [edi + 4]
mov dword [ebp - 0x14], edi
mov dword [ecx + eax], 0
mov dword [ecx + eax + 4], 0
test edi, edi
je 0x5fecc4
cmp dword [edi + 0xc], 0
jne 0x5fecc4
push ecx
mov ecx, edi
call fcn.005a47b0
mov dword [ebp - 0x14], 0
test esi, esi
je 0x5fecd0
lock inc dword [esi]
mov dword [ebp - 0x38], esi
jmp 0x5fecd7
mov dword [ebp - 0x38], 0
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 0x23
push eax
lea ecx, [ebp - 0x38]
call fcn.005a6990
mov eax, dword [eax]
test eax, eax
je 0x5fecf5
lock inc dword [eax]
mov dword [ebp - 0x44], eax
jmp 0x5fecfc
mov dword [ebp - 0x44], 0
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x34], 0x1f
test ecx, ecx
je 0x5fed19
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5fed19
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 0x24
lea eax, [ebp - 0x44]
mov edi, dword [ebp - 0x28]
mov ecx, edi
push eax
call fcn.005a6990
mov ecx, dword [ebp - 0x44]
test ecx, ecx
je 0x5fed41
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5fed41
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x14]
test ecx, ecx
je 0x5fed57
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5fed57
push ecx
call fcn.005a47b0
mov byte [ebp - 4], 0x1c
test esi, esi
je 0x5fed70
mov eax, ebx
lock xadd dword [esi], eax
dec eax
jne 0x5fed70
push ecx
mov ecx, esi
call fcn.005a47b0
mov eax, dword [0x6aeff0]
push ecx
mov ecx, esp
test eax, eax
je 0x5fed81
lock inc dword [eax]
jmp 0x5fed83
xor eax, eax
mov dword [ecx], eax
lea eax, [ebp - 0x1c]
push ecx
push eax
mov ecx, edi
call fcn.005b1a10
mov ecx, dword [edi]
mov edx, dword [eax]
cmp ecx, edx
je 0x5fedb4
mov dword [edi], edx
mov dword [eax], 0
test ecx, ecx
je 0x5fedb4
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5fedb4
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x1c]
test ecx, ecx
je 0x5fedca
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5fedca
push ecx
call fcn.005a47b0
cmp byte [ebp + 0x250], 0
je 0x5ff019
call fcn.005a45d0
mov dword [ebp + 0x23c], eax
mov dword [ebp - 4], 0x25
test eax, eax
je 0x5fee10
push str.Proxy_Authorization:_NTLM
mov ecx, eax
call fcn.005a5480
mov esi, eax
mov dword [ebp - 0x18], esi
mov ecx, esi
test esi, esi
je 0x5fee19
cmp dword [esi + 0xc], 0
jne 0x5fee19
push ecx
call fcn.005a47b0
xor esi, esi
xor eax, eax
xor ecx, ecx
mov dword [ebp - 0x18], esi
mov dword [ebp - 4], 0x26
test eax, eax
je 0x5fee32
lock inc dword [ecx]
mov edi, esi
mov dword [ebp - 0x20], esi
mov eax, esi
mov ecx, esi
jmp 0x5fee3b
xor eax, eax
xor edi, edi
xor ecx, ecx
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edi
mov byte [ebp - 4], 0x27
test eax, eax
jne 0x5feee0
mov ecx, dword [ebp - 0x28]
mov edx, dword [ecx]
test edx, edx
je 0x5fefab
movzx eax, word [edx + 0x10]
mov ecx, eax
and eax, 4
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x40], eax
je 0x5fee71
mov eax, dword [edx + 0x14]
movzx eax, word [eax + 0x10]
jmp 0x5fee77
mov eax, dword [ebp - 0x20]
movzx eax, ax
mov ecx, dword [ebp - 0x28]
and al, 0x88
cmp al, 0x80
jne 0x5feed6
cmp word [ebp - 0x40], 0
je 0x5fee90
mov eax, dword [edx + 0x14]
movzx eax, word [eax + 0x10]
jmp 0x5fee96
mov eax, dword [ebp - 0x20]
movzx eax, ax
and eax, 0x400
lea ecx, [ebp - 0x40]
push eax
push dword [edx + 4]
push dword [edx + 0xc]
call fcn.005a5770
mov ecx, dword [eax]
test ecx, ecx
je 0x5feeb8
mov edi, ecx
mov dword [eax], 0
mov ecx, dword [ebp - 0x40]
test ecx, ecx
je 0x5fefab
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5fefab
push ecx
jmp 0x5fefa6
lock inc dword [edx]
mov edi, dword [ecx]
jmp 0x5fefab
mov eax, dword [ebp - 0x28]
mov edx, dword [eax]
test edx, edx
je 0x5fefab
movzx eax, word [ecx + 0x10]
mov ecx, eax
test al, 4
je 0x5fef01
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 0x14]
movzx ecx, word [eax + 0x10]
movzx eax, word [edx + 0x10]
and ecx, 0x400
mov dword [ebp - 0x20], ecx
mov ecx, eax
mov dword [ebp - 0x40], ecx
test al, 4
je 0x5fef20
mov eax, dword [edx + 0x14]
movzx eax, word [eax + 0x10]
jmp 0x5fef26
mov eax, dword [ebp - 0x40]
movzx eax, ax
mov ecx, dword [ebp - 0x20]
and eax, 0x400
or eax, ecx
push eax
mov eax, dword [edx + 4]
add eax, dword [edi + 4]
push eax
push ecx
lea ecx, [ebp - 0x14]
call fcn.005a67d0
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x5fefab
push dword [edi + 4]
push dword [edi + 0xc]
push dword [eax + 0xc]
call fcn.00609db0
mov eax, dword [ebp - 0x28]
mov eax, dword [eax]
push dword [eax + 4]
push dword [eax + 0xc]
mov eax, dword [ebp - 0x14]
mov eax, dword [eax + 0xc]
add eax, dword [edi + 4]
push eax
call fcn.00609db0
mov eax, dword [ebp - 0x14]
add esp, 0x18
cmp eax, edi
je 0x5fef96
lock inc dword [eax]
mov ecx, edi
mov edi, eax
test ecx, ecx
je 0x5fef96
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
jne 0x5fef96
push ecx
call fcn.005a47b0
mov eax, edi
test eax, eax
je 0x5fefab
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
jne 0x5fefab
push ecx
mov ecx, eax
call fcn.005a47b0
test edi, edi
je 0x5fefb7
lock inc dword [edi]
mov dword [ebp - 0x18], edi
jmp 0x5fefbc
xor eax, eax
mov dword [ebp - 0x18], eax
test edi, edi
je 0x5fefd1
mov eax, ebx
lock xadd dword [edi], eax
dec eax
jne 0x5fefd1
push ecx
mov ecx, edi
call fcn.005a47b0
mov edi, dword [ebp - 0x28]
mov eax, dword [ebp - 0x18]
mov ecx, dword [edi]
cmp ecx, eax
je 0x5fefef
mov dword [edi], eax
test ecx, ecx
je 0x5ff004
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5ff004
push ecx
jmp 0x5fefff
test eax, eax
je 0x5ff004
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
jne 0x5ff004
push ecx
mov ecx, eax
call fcn.005a47b0
test esi, esi
je 0x5ff019
mov eax, ebx
lock xadd dword [esi], eax
dec eax
jne 0x5ff019
push ecx
mov ecx, esi
call fcn.005a47b0
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x5ff02f
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5ff02f
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x5ff045
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5ff045
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x5ff05b
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5ff05b
push ecx
call fcn.005a47b0
mov ecx, dword [ebp - 0x58]
test ecx, ecx
je 0x5ff071
mov eax, ebx
lock xadd dword [ecx], eax
dec eax
jne 0x5ff071
push ecx
call fcn.005a47b0
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x5ff089
mov ecx, ebx
lock xadd dword [eax], ecx
dec ecx
jne 0x5ff089
push ecx
mov ecx, eax
call fcn.005a47b0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x5ff09f
lock xadd dword [eax], ebx
dec ebx
jne 0x5ff09f
push ecx
mov ecx, eax
call fcn.005a47b0
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x240]
xor ecx, ebp
call fcn.00606a47
lea esp, [ebp + 0x244]
pop ebp
ret 8
call fcn.006070af
int3