Function at 0x44e460
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x59dbd6
mov eax, dword fs:[0]
push eax
sub esp, 0x118
mov eax, dword [0x61e810]
xor eax, esp
mov dword [esp + 0x110], eax
push ebx
push esi
push edi
mov eax, dword [0x61e810]
xor eax, esp
push eax
lea eax, [esp + 0x128]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
xor edi, edi
mov ebx, edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x58], ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x30], esi
cmp dword [ebx + 0x10], edi
jne 0x44e4c3
xor al, al
jmp 0x44f664
mov eax, dword [ecx]
cmp eax, edi
je 0x44e4ce
cmp eax, 6
jne 0x44e4bc
push ecx
lea ecx, [esp + 0x38]
call fcn.00456960
add ebx, 0x38
mov dword [esp + 0x130], edi
mov eax, dword [ebx]
cmp eax, edi
je 0x44e4f1
cmp eax, 6
jne 0x44e65e
mov dword [esp + 0x14], edi
cmp dword [esi + 0x10], edi
je 0x44e65e
mov edi, dword [esp + 0x3c]
cmp dword [esi + 0x14], 8
jb 0x44e50c
mov edx, dword [esi]
jmp 0x44e50e
mov edx, esi
mov ecx, ebx
call fcn.00455b40
cmp dword [eax], 4
jne 0x44e589
cmp dword [esp + 0x34], 6
jne 0x44e536
lea eax, [esp + 0x50]
push eax
mov eax, esi
mov ecx, edi
call fcn.00457c90
mov eax, dword [eax]
cmp eax, dword [edi + 4]
jne 0x44e589
cmp dword [esi + 0x14], 8
jb 0x44e540
mov edx, dword [esi]
jmp 0x44e542
mov edx, esi
mov ecx, ebx
call fcn.00455b40
mov ecx, eax
call fcn.00456300
push eax
lea edi, [esp + 0x70]
call fcn.00456710
mov byte [esp + 0x130], 1
cmp dword [esi + 0x14], 8
jb 0x44e56a
mov esi, dword [esi]
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00455b40
mov esi, eax
lea eax, [esp + 0x6c]
call fcn.00455fd0
lea ecx, [esp + 0x6c]
jmp 0x44e629
cmp dword [esi + 0x14], 8
jb 0x44e593
mov edx, dword [esi]
jmp 0x44e595
mov edx, esi
mov ecx, ebx
call fcn.00455b40
cmp dword [eax], 1
jne 0x44e63a
cmp dword [esp + 0x34], 6
jne 0x44e5c1
lea ecx, [esp + 0x1c]
push ecx
mov eax, esi
mov ecx, edi
call fcn.00457c90
mov eax, dword [eax]
cmp eax, dword [edi + 4]
jne 0x44e63a
cmp dword [esi + 0x14], 8
jb 0x44e5cb
mov edx, dword [esi]
jmp 0x44e5cd
mov edx, esi
mov ecx, ebx
call fcn.00455b40
mov ecx, eax
call fcn.004560a0
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x8c], 1
mov dword [esp + 0x94], ecx
mov dword [esp + 0x98], eax
mov byte [esp + 0x130], 2
cmp dword [esi + 0x14], 8
jb 0x44e609
mov esi, dword [esi]
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00455b40
mov esi, eax
lea eax, [esp + 0x8c]
call fcn.00455fd0
lea ecx, [esp + 0x8c]
mov byte [esp + 0x130], 0
call fcn.00456430
mov edi, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
inc eax
lea edx, [eax*8]
sub edx, eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
cmp dword [eax + edx*4 + 0x10], 0
lea esi, [eax + edx*4]
jne 0x44e502
push 0
lea ecx, [esp + 0x60]
call fcn.00481c50
mov ebx, 7
push ebx
lea ecx, [esp + 0x70]
mov byte [esp + 0x134], 3
call fcn.00481c50
push eax
push str.headers
lea ecx, [esp + 0x64]
mov byte [esp + 0x138], 4
call fcn.004832c0
mov ecx, eax
call fcn.00482e10
lea ecx, [esp + 0x6c]
mov byte [esp + 0x130], 3
call fcn.00481d70
mov dword [esp + 0xfc], 0xf
mov dword [esp + 0xf8], 0
mov byte [esp + 0xe8], 0
push 0
mov byte [esp + 0x134], 5
call fcn.0048a761
add esp, 4
push edx
push eax
lea esi, [esp + 0xd4]
call fcn.00449ae0
mov edi, eax
mov byte [esp + 0x138], 6
push 0x1c
mov dword [esp + 0x98], 4
call fcn.0048a378
mov esi, eax
add esp, 0xc
mov dword [esp + 0x1c], esi
mov byte [esp + 0x130], bl
test esi, esi
je 0x44e73a
xor ecx, ecx
push 0xffffffffffffffff
mov dword [esi + 0x14], ebx
mov dword [esi + 0x10], 0
mov word [esi], cx
push ecx
mov eax, edi
mov ecx, esi
call fcn.00401a8e
jmp 0x44e73c
xor esi, esi
mov dword [esp + 0x94], esi
mov edx, 0x5fcc38
lea ecx, [esp + 0x34]
mov byte [esp + 0x130], 8
call fcn.00455b40
lea edx, [esp + 0x8c]
push edx
lea ecx, [esp + 0x20]
mov esi, eax
call fcn.00456960
mov eax, dword [esi]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [esi], ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 8]
mov dword [esi + 8], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x1c]
mov dword [esi + 0xc], edx
mov dword [esp + 0x24], eax
call fcn.00456430
lea ecx, [esp + 0x8c]
mov byte [esp + 0x130], 6
call fcn.00456430
mov edi, 8
mov byte [esp + 0x130], 5
cmp dword [esp + 0xe0], edi
jb 0x44e7d7
mov eax, dword [esp + 0xcc]
push eax
call fcn.0048a131
add esp, 4
xor ecx, ecx
push str.logname
mov byte [esp + 0x1f], 1
mov dword [esp + 0xa4], ebx
mov dword [esp + 0xa0], 0
mov word [esp + 0x90], cx
call fcn.0048aa3a
add esp, 4
mov ecx, str.logname
lea esi, [esp + 0x8c]
call fcn.00401741
mov byte [esp + 0x130], 9
cmp dword [esp + 0x34], 6
mov dword [esp + 0x14], 1
jne 0x44e918
mov eax, esi
mov esi, dword [esp + 0x3c]
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
call fcn.00457c90
mov eax, dword [eax]
cmp eax, dword [esi + 4]
je 0x44e918
mov ecx, dword [esp + 0x48]
mov edx, str.logname
call fcn.00455b40
mov ecx, eax
call fcn.00456300
cmp dword [eax + 0x14], edi
jb 0x44e86c
mov esi, dword [eax]
jmp 0x44e86e
mov esi, eax
xor eax, eax
push esi
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], 0
mov word [esp + 0x70], ax
call fcn.0048aa3a
mov ecx, esi
add esp, 4
lea esi, [esp + 0x6c]
call fcn.00401741
push str.d_event_yiwang_5.2
mov dword [esp + 0x18], 3
call fcn.0048aa3a
mov ebx, dword [esp + 0x80]
add esp, 4
mov esi, ebx
cmp ebx, eax
jb 0x44e8bf
mov esi, eax
mov edx, dword [esp + 0x6c]
cmp dword [esp + 0x80], edi
jae 0x44e8d0
lea edx, [esp + 0x6c]
mov ecx, str.d_event_yiwang_5.2
test esi, esi
je 0x44e8fb
lea esp, [esp]
mov di, word [edx]
cmp di, word [ecx]
jne 0x44e8f3
add edx, 2
add ecx, 2
dec esi
jne 0x44e8e0
jmp 0x44e8fb
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
jne 0x44e90b
cmp ebx, eax
jae 0x44e904
or ecx, 0xffffffff
jmp 0x44e90b
xor ecx, ecx
cmp ebx, eax
setne cl
test ecx, ecx
sete al
test al, al
je 0x44e918
mov bl, 1
jmp 0x44e91a
xor bl, bl
test byte [esp + 0x14], 2
je 0x44e957
and dword [esp + 0x14], 0xfffffffd
cmp dword [esp + 0x80], 8
jb 0x44e93d
mov eax, dword [esp + 0x6c]
push eax
call fcn.0048a131
add esp, 4
xor ecx, ecx
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], cx
mov dword [esp + 0x130], 5
test byte [esp + 0x14], 1
je 0x44e983
cmp dword [esp + 0xa0], 8
jb 0x44e983
mov edx, dword [esp + 0x8c]
push edx
call fcn.0048a131
add esp, 4
test bl, bl
je 0x44e98c
mov byte [esp + 0x1b], 0
mov edx, 0x5fcdfc
lea ecx, [esp + 0x34]
call fcn.00455b40
cmp dword [eax], 4
jne 0x44ea25
mov edx, 0x5fcdfc
lea ecx, [esp + 0x34]
call fcn.00455b40
mov ecx, eax
call fcn.00456300
push 0x5fc63c
mov esi, eax
call fcn.0048aa3a
mov ebx, eax
mov eax, dword [esi + 0x10]
mov ecx, eax
add esp, 4
cmp ecx, eax
jae 0x44e9d2
mov edi, eax
cmp eax, ebx
jb 0x44e9da
mov edi, ebx
cmp dword [esi + 0x14], 8
jb 0x44e9e4
mov edx, dword [esi]
jmp 0x44e9e6
mov edx, esi
mov esi, edi
mov ecx, 0x5fc63c
test edi, edi
je 0x44ea0c
mov di, word [edx]
cmp di, word [ecx]
jne 0x44ea04
add edx, 2
add ecx, 2
dec esi
jne 0x44e9f1
jmp 0x44ea0c
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
jne 0x44ea1c
cmp eax, ebx
jae 0x44ea15
or ecx, 0xffffffff
jmp 0x44ea1c
xor ecx, ecx
cmp eax, ebx
setne cl
test ecx, ecx
sete al
test al, al
je 0x44ea9e
cmp byte [esp + 0x1b], 0
je 0x44ea9e
mov ebx, str._remoteIp
lea edi, [esp + 0x6c]
call fcn.004567f0
mov edx, 0x5fcdfc
lea ecx, [esp + 0x34]
mov byte [esp + 0x130], 0xb
call fcn.00455b40
mov esi, eax
mov eax, edi
push eax
lea ecx, [esp + 0x20]
call fcn.00456960
mov eax, dword [esi]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov dword [esi], ecx
mov ecx, dword [esi + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 8]
mov dword [esi + 8], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x28], ecx
lea ecx, [esp + 0x1c]
mov dword [esi + 0xc], edx
mov dword [esp + 0x24], eax
call fcn.00456430
mov ecx, edi
mov byte [esp + 0x130], 5
call fcn.00456430
mov esi, dword [esp + 0x30]
xor edi, edi
mov dword [esp + 0x14], edi
lea ebx, [edi + 8]
cmp dword [esi + 0x10], edi
je 0x44f13d
test edi, edi
jle 0x44ead7
push 0x608870
call fcn.0048b5e0
add esp, 4
push eax
push 0x608870
lea ecx, [esp + 0xf0]
call fcn.0040f618
cmp dword [esi + 0x14], ebx
jb 0x44eae0
mov edx, dword [esi]
jmp 0x44eae2
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00455b40
cmp dword [eax], 4
jne 0x44eb21
cmp dword [esi + 0x14], ebx
jb 0x44eaf7
mov esi, dword [esi]
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00455b40
mov ecx, eax
call fcn.00456300
mov ecx, eax
lea esi, [esp + 0xcc]
call fcn.00446490
mov byte [esp + 0x130], 0xc
jmp 0x44eb71
cmp dword [esi + 0x14], ebx
jb 0x44eb2a
mov edx, dword [esi]
jmp 0x44eb2c
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00455b40
cmp dword [eax], 1
jne 0x44ebad
cmp dword [esi + 0x14], ebx
jb 0x44eb41
mov esi, dword [esi]
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00455b40
mov ecx, eax
call fcn.004560a0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
lea esi, [esp + 0xd4]
call fcn.00446940
add esp, 8
mov byte [esp + 0x130], 0xd
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0xf4]
call fcn.0040f6b1
mov byte [esp + 0x130], 5
cmp dword [esp + 0xe0], 0x10
jb 0x44f114
mov eax, dword [esp + 0xcc]
push eax
call fcn.0048a131
add esp, 4
jmp 0x44f11d
cmp dword [esi + 0x14], ebx
jb 0x44ebb6
mov edx, dword [esi]
jmp 0x44ebb8
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00455b40
mov eax, dword [eax]
test eax, eax
je 0x44ebd0
cmp eax, 6
jne 0x44f11d
xor ecx, ecx
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], cx
mov byte [esp + 0x130], 0xe
cmp dword [esi + 0x14], ebx
jb 0x44ebff
mov esi, dword [esi]
mov edx, esi
lea ecx, [esp + 0x34]
call fcn.00455b40
mov edi, eax
lea eax, [esp + 0x1c]
call fcn.004573a0
mov byte [esp + 0x130], 0xf
lea ecx, [ecx]
lea esi, [esp + 0x50]
call fcn.004573c0
push eax
lea edx, [esp + 0x20]
push edx
call fcn.00457460
test al, al
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
sete bl
cmp eax, 6
jne 0x44ec4b
mov ecx, dword [esp + 0x54]
push ecx
jmp 0x44ec55
cmp eax, 5
jne 0x44ec5d
mov edx, dword [esp + 0x54]
push edx
call fcn.0048a131
add esp, 4
xor edi, edi
mov esi, 0x6345e0
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], esi
test bl, bl
je 0x44efa1
xor eax, eax
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], edi
mov word [esp + 0x6c], ax
mov byte [esp + 0x130], 0x10
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi]
mov eax, dword [esp + 0x20]
cmp ecx, 6
jne 0x44eca8
mov edx, dword [eax]
add edx, 0x30
jmp 0x44ecb3
cmp ecx, 5
jne 0x44ecb1
mov edx, dword [eax]
jmp 0x44ecb3
mov edx, eax
cmp dword [edx], 4
jne 0x44ece8
cmp ecx, 6
jne 0x44ecc4
mov eax, dword [eax]
add eax, 0x30
jmp 0x44eccb
cmp ecx, 5
jne 0x44eccb
mov eax, dword [eax]
mov ecx, eax
call fcn.00456300
push 0xffffffffffffffff
push edi
lea ecx, [esp + 0x74]
call fcn.00401a8e
mov ebx, 8
jmp 0x44ee85
cmp ecx, 6
jne 0x44ecf4
mov edx, dword [eax]
add edx, 0x30
jmp 0x44ecff
cmp ecx, 5
jne 0x44ecfd
mov edx, dword [eax]
jmp 0x44ecff
mov edx, eax
cmp dword [edx], 1
jne 0x44ed9a
cmp ecx, 6
jne 0x44ed14
mov eax, dword [eax]
add eax, 0x30
jmp 0x44ed1b
cmp ecx, 5
jne 0x44ed1b
mov eax, dword [eax]
mov ecx, eax
call fcn.004560a0
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
lea esi, [esp + 0xd4]
call fcn.004468b0
add esp, 8
mov esi, eax
lea eax, [esp + 0x6c]
mov ebx, 8
cmp eax, esi
je 0x44ee64
cmp dword [esp + 0x80], ebx
jb 0x44ed61
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.0048a131
add esp, 4
xor edx, edx
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], edi
mov word [esp + 0x6c], dx
cmp dword [esi + 0x14], ebx
jae 0x44ee45
mov eax, dword [esi + 0x10]
inc eax
add eax, eax
push eax
lea ecx, [esp + 0x70]
push esi
push ecx
call fcn.0048a400
add esp, 0xc
jmp 0x44ee4d
cmp ecx, 6
jne 0x44eda6
mov ecx, dword [eax]
add ecx, 0x30
jmp 0x44edb1
cmp ecx, 5
jne 0x44edaf
mov ecx, dword [eax]
jmp 0x44edb1
mov ecx, eax
cmp dword [ecx], 2
jne 0x44ef53
mov ecx, dword [esi]
cmp ecx, 6
jne 0x44edc8
mov eax, dword [eax]
add eax, 0x30
jmp 0x44edcf
cmp ecx, 5
jne 0x44edcf
mov eax, dword [eax]
mov ecx, eax
call fcn.004561d0
fld qword [eax]
call fcn.00493146
push edx
push eax
lea esi, [esp + 0xd4]
call fcn.004468b0
add esp, 8
mov esi, eax
lea eax, [esp + 0x6c]
mov ebx, 8
cmp eax, esi
je 0x44ee64
cmp dword [esp + 0x80], ebx
jb 0x44ee13
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.0048a131
add esp, 4
xor edx, edx
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], edi
mov word [esp + 0x6c], dx
cmp dword [esi + 0x14], ebx
jae 0x44ee45
mov eax, dword [esi + 0x10]
inc eax
add eax, eax
push eax
lea ecx, [esp + 0x70]
push esi
push ecx
call fcn.0048a400
add esp, 0xc
jmp 0x44ee4d
mov edx, dword [esi]
mov dword [esp + 0x6c], edx
mov dword [esi], edi
mov eax, dword [esi + 0x10]
mov dword [esp + 0x7c], eax
mov ecx, dword [esi + 0x14]
mov dword [esp + 0x80], ecx
mov dword [esi + 0x14], edi
mov dword [esi + 0x10], edi
mov byte [esp + 0x130], 0x10
cmp dword [esp + 0xe0], ebx
jb 0x44ee85
mov edx, dword [esp + 0xcc]
push edx
call fcn.0048a131
add esp, 4
lea edx, [esp + 0x104]
lea ecx, [esp + 0x1c]
call fcn.00457710
mov byte [esp + 0x130], 0x13
mov ecx, dword [esp + 0x6c]
cmp dword [esp + 0x80], ebx
jae 0x44eeae
lea ecx, [esp + 0x6c]
cmp dword [eax + 0x14], ebx
jb 0x44eeb5
mov eax, dword [eax]
push ecx
push eax
lea eax, [esp + 0xd4]
push 0x608874
push eax
call fcn.004466c0
add esp, 0x10
push edi
push eax
or eax, 0xffffffff
lea esi, [esp + 0x94]
mov byte [esp + 0x138], 0x14
call fcn.004015c7
cmp dword [esp + 0xe0], ebx
jb 0x44eefe
mov ecx, dword [esp + 0xcc]
push ecx
call fcn.0048a131
add esp, 4
xor edx, edx
mov dword [esp + 0xe0], 7
mov dword [esp + 0xdc], edi
mov word [esp + 0xcc], dx
cmp dword [esp + 0x118], ebx
jb 0x44ef33
mov eax, dword [esp + 0x104]
push eax
call fcn.0048a131
add esp, 4
mov byte [esp + 0x130], 0xf
cmp dword [esp + 0x80], ebx
jb 0x44ef5b
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.0048a131
add esp, 4
jmp 0x44ef5b
mov byte [esp + 0x130], 0xf
lea esi, [esp + 0x48]
lea edi, [esp + 0x1c]
call fcn.004578c0
mov edx, dword [esp + 0x48]
mov eax, dword [edx]
cmp eax, 6
jne 0x44ef7a
mov eax, dword [esp + 0x4c]
push eax
jmp 0x44ef84
cmp eax, 5
jne 0x44ef8c
mov ecx, dword [esp + 0x4c]
push ecx
call fcn.0048a131
add esp, 4
mov dword [esp + 0x4c], 0
mov dword [esp + 0x48], 0x6345e0
jmp 0x44ec20
mov byte [esp + 0x130], 0xe
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
cmp eax, 6
jne 0x44efbb
mov eax, dword [esp + 0x20]
push eax
jmp 0x44efc5
cmp eax, 5
jne 0x44efcd
mov ecx, dword [esp + 0x20]
push ecx
call fcn.0048a131
add esp, 4
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x20], edi
mov dword [esp + 0x1c], esi
cmp eax, edi
je 0x44f0ee
dec eax
push eax
push edi
lea edx, [esp + 0x94]
push edx
lea esi, [esp + 0x110]
call fcn.0040a121
mov esi, eax
lea eax, [esp + 0x8c]
mov ebx, 8
cmp eax, esi
je 0x44f086
cmp dword [esp + 0xa0], ebx
jb 0x44f026
mov ecx, dword [esp + 0x8c]
push ecx
call fcn.0048a131
add esp, 4
xor edx, edx
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], edi
mov word [esp + 0x8c], dx
cmp dword [esi + 0x14], ebx
jae 0x44f061
mov eax, dword [esi + 0x10]
inc eax
add eax, eax
push eax
lea ecx, [esp + 0x90]
push esi
push ecx
call fcn.0048a400
add esp, 0xc
jmp 0x44f06c
mov edx, dword [esi]
mov dword [esp + 0x8c], edx
mov dword [esi], edi
mov eax, dword [esi + 0x10]
mov dword [esp + 0x9c], eax
mov ecx, dword [esi + 0x14]
mov dword [esp + 0xa0], ecx
mov dword [esi + 0x10], edi
mov dword [esi + 0x14], edi
mov byte [esp + 0x130], 0xe
cmp dword [esp + 0x118], ebx
jb 0x44f0a7
mov edx, dword [esp + 0x104]
push edx
call fcn.0048a131
add esp, 4
lea ecx, [esp + 0x8c]
lea eax, [esp + 0x104]
call fcn.00446470
push 0xffffffffffffffff
push edi
push eax
lea ecx, [esp + 0xf4]
mov byte [esp + 0x13c], 0x16
call fcn.0040f6b1
cmp dword [esp + 0x118], 0x10
jb 0x44f0f3
mov eax, dword [esp + 0x104]
push eax
call fcn.0048a131
add esp, 4
jmp 0x44f0f3
mov ebx, 8
mov byte [esp + 0x130], 5
cmp dword [esp + 0xa0], ebx
jb 0x44f114
mov ecx, dword [esp + 0x8c]
push ecx
call fcn.0048a131
add esp, 4
mov edi, dword [esp + 0x14]
mov ebx, 8
mov eax, dword [esp + 0x30]
inc edi
lea edx, [edi*8]
sub edx, edi
cmp dword [eax + edx*4 + 0x10], 0
lea esi, [eax + edx*4]
mov dword [esp + 0x14], edi
jne 0x44eab4
mov esi, dword [esp + 0xf8]
and esi, 0xfffffff8
add esi, ebx
push esi
call fcn.00489adb
lea ecx, [esi + esi + 1]
add esp, 4
mov edi, eax
push ecx
mov dword [esp + 0x18], edi
call fcn.00489adb
add esp, 4
push esi
push 0
push edi
mov dword [esp + 0x3c], eax
call fcn.0048b3f0
mov eax, dword [esp + 0xf4]
add esp, 0xc
cmp dword [esp + 0xfc], 0x10
jae 0x44f18d
lea eax, [esp + 0xe8]
mov edx, dword [esp + 0xf8]
push edx
push eax
push edi
call fcn.00489dd0
mov eax, dword [esp + 0x64]
add esp, 0xc
push edi
add eax, 0x48
push edi
push eax
mov eax, dword [esp + 0x104]
call fcn.004601d0
xor edi, edi
test esi, esi
jle 0x44f1df
mov ebx, dword [esp + 0x30]
nop
mov ecx, dword [esp + 0x14]
movzx edx, byte [edi + ecx]
push edx
push str._02X
push ebx
call fcn.00492d70
inc edi
add esp, 0xc
add ebx, 2
cmp edi, esi
jl 0x44f1c0
mov edi, dword [esp + 0x30]
mov byte [edi + esi*2], 0
push edi
mov dword [esp + 0xc8], 0xf
mov dword [esp + 0xc4], 0
mov byte [esp + 0xb4], 0
call fcn.0048b5e0
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xb4]
add esp, 4
mov esi, eax
mov eax, dword [esp + 0xc0]
test edi, edi
je 0x44f277
mov ecx, ebx
cmp edx, 0x10
jae 0x44f237
lea ecx, [esp + 0xb0]
cmp edi, ecx
jb 0x44f277
mov ecx, ebx
cmp edx, 0x10
jae 0x44f249
lea ecx, [esp + 0xb0]
add ecx, eax
cmp ecx, edi
jbe 0x44f277
mov eax, ebx
cmp edx, 0x10
jae 0x44f25d
lea eax, [esp + 0xb0]
push esi
mov ecx, edi
sub ecx, eax
push ecx
lea edx, [esp + 0xb8]
push edx
mov ecx, edx
call fcn.0040ca50
jmp 0x44f309
cmp esi, 0xfffffffe
jbe 0x44f286
push str.string_too_long
call fcn.004890a5
cmp edx, esi
jae 0x44f29a
push eax
push esi
lea ecx, [esp + 0xb8]
call fcn.0040cb43
jmp 0x44f2b6
test esi, esi
jne 0x44f2c6
mov dword [esp + 0xc0], esi
mov eax, ebx
cmp edx, 0x10
jae 0x44f2b3
lea eax, [esp + 0xb0]
mov byte [eax], 0
mov ebx, dword [esp + 0xb0]
mov edx, dword [esp + 0xc4]
test esi, esi
setne cl
test cl, cl
je 0x44f309
mov eax, ebx
cmp edx, 0x10
jae 0x44f2db
lea eax, [esp + 0xb0]
push esi
push edi
push eax
call fcn.00489dd0
mov eax, dword [esp + 0xbc]
add esp, 0xc
cmp dword [esp + 0xc4], 0x10
mov dword [esp + 0xc0], esi
jae 0x44f305
lea eax, [esp + 0xb0]
mov byte [esi + eax], 0
mov byte [esp + 0x130], 0x17
mov eax, dword [esp + 0x14]
push eax
call fcn.0048b5cf
add esp, 4
push edi
call fcn.0048b5cf
add esp, 4
lea ecx, [esp + 0xb0]
push ecx
lea ecx, [esp + 0x70]
call fcn.00481470
lea edx, [esp + 0x6c]
push edx
push str.body
lea ecx, [esp + 0x64]
mov byte [esp + 0x138], 0x18
call fcn.004832c0
mov ecx, eax
call fcn.00482e10
lea ecx, [esp + 0x6c]
mov byte [esp + 0x130], 0x17
call fcn.00481d70
mov ecx, dword [esp + 0x58]
lea eax, [esp + 0x5c]
push eax
add ecx, 0x28
call fcn.00483240
test byte [0x63221c], 1
mov edi, dword [sym.imp.KERNEL32.dll_InitializeCriticalSection]
jne 0x44f436
or dword [0x63221c], 1
xor ebx, ebx
push 0x632228
mov dword [0x632220], 0x5fd2f0
mov dword [0x632224], ebx
mov dword [0x632240], ebx
call edi
mov byte [esp + 0x130], 0x1a
push 8
mov dword [0x632220], 0x5fd330
call fcn.0048a378
add esp, 4
cmp eax, ebx
je 0x44f3e3
mov dword [eax], 0xffffffff
mov byte [eax + 4], 1
mov esi, eax
jmp 0x44f3e5
xor esi, esi
push 0x632228
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x632224]
inc dword [0x632240]
cmp eax, ebx
je 0x44f408
push eax
call fcn.0048a131
add esp, 4
dec dword [0x632240]
push 0x632228
mov dword [0x632224], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x5ac41a
call fcn.0048ae63
add esp, 4
mov byte [esp + 0x130], 0x17
jmp 0x44f438
xor ebx, ebx
lea ecx, [esp + 0xe8]
lea edx, [esp + 0x104]
mov esi, 8
call fcn.00446580
mov byte [esp + 0x130], 0x1b
cmp dword [eax + 0x14], esi
jb 0x44f45f
mov eax, dword [eax]
mov ecx, dword [0x632220]
mov edx, dword [ecx + 8]
push eax
push 0x60888c
push 0x60889c
push 0xd5
push ebx
push 0x632220
call edx
add esp, 0x18
mov byte [esp + 0x130], 0x17
cmp dword [esp + 0x118], esi
jb 0x44f4a4
mov eax, dword [esp + 0x104]
push eax
call fcn.0048a131
add esp, 4
test byte [0x6321f0], 1
jne 0x44f564
or dword [0x6321f0], 1
push 0x6321fc
mov dword [0x6321f4], 0x5fd2f0
mov dword [0x6321f8], ebx
mov dword [0x632214], ebx
call edi
mov byte [esp + 0x130], 0x1d
push esi
mov dword [0x6321f4], 0x5fd310
mov byte [0x632218], 1
call fcn.0048a378
add esp, 4
cmp eax, ebx
je 0x44f509
mov dword [eax], 0xffffffff
mov byte [eax + 4], 1
mov esi, eax
jmp 0x44f50b
xor esi, esi
push 0x6321fc
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov eax, dword [0x6321f8]
mov edi, 1
add dword [0x632214], edi
cmp eax, ebx
je 0x44f533
push eax
call fcn.0048a131
add esp, 4
sub dword [0x632214], edi
push 0x6321fc
mov dword [0x6321f8], esi
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
push 0x5ac42e
call fcn.0048ae63
add esp, 4
mov byte [esp + 0x130], 0x17
mov esi, 8
lea ecx, [esp + 0xe8]
lea edx, [esp + 0xcc]
call fcn.00446580
mov byte [esp + 0x130], 0x1e
cmp dword [eax + 0x14], esi
jb 0x44f586
mov eax, dword [eax]
mov ecx, dword [0x6321f4]
mov edx, dword [ecx + 4]
push eax
push 0x60888c
push ebx
push 0x6321f4
call edx
add esp, 0x10
cmp dword [esp + 0xe0], esi
jb 0x44f5b9
mov eax, dword [esp + 0xcc]
push eax
call fcn.0048a131
add esp, 4
xor ecx, ecx
mov edi, 0x10
mov dword [esp + 0xe0], 7
mov dword [esp + 0xdc], ebx
mov word [esp + 0xcc], cx
cmp dword [esp + 0xc4], edi
jb 0x44f5f3
mov edx, dword [esp + 0xb0]
push edx
call fcn.0048a131
add esp, 4
mov esi, 0xf
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], 0
cmp dword [esp + 0xfc], edi
jb 0x44f627
mov eax, dword [esp + 0xe8]
push eax
call fcn.0048a131
add esp, 4
lea ecx, [esp + 0x5c]
mov dword [esp + 0xfc], esi
mov dword [esp + 0xf8], ebx
mov byte [esp + 0xe8], 0
mov byte [esp + 0x130], 0
call fcn.00481d70
lea ecx, [esp + 0x34]
mov dword [esp + 0x130], 0xffffffff
call fcn.00456430
mov al, 1
mov ecx, dword [esp + 0x128]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x110]
xor ecx, esp
call fcn.00489dc1
mov esp, ebp
pop ebp
ret 4