Function at 0x443c80
Capabilities:
Check http status code

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x48bb19
mov eax, dword fs:[0]
push eax
sub esp, 0x498
mov eax, dword [0x5a1014]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, edx
mov dword [ebp - 0x464], edi
mov eax, ecx
mov dword [ebp - 0x45c], eax
mov ebx, dword [ebp + 8]
mov esi, dword [eax + 4]
mov dword [ebp - 0x470], ebx
mov dword [ebp - 0x460], esi
mov eax, dword [ebx]
mov eax, dword [eax + 0x3c]
cmp eax, 0x46d010
jne 0x44491c
mov eax, dword [ebx + 0x14]
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x4a0], edx
mov dword [ebp - 0x49c], ecx
mov eax, edx
mov dword [ebp - 0x474], edx
or eax, ecx
je 0x4453ba
mov dword [ebp - 0x468], 0
mov dword [ebp - 4], 0
mov eax, dword [ebx]
mov dword [ebp - 0x488], 0
mov dword [ebp - 0x490], 0
mov eax, dword [eax + 0x38]
cmp eax, 0x43aae0
jne 0x44493f
mov esi, dword [0x5a2ec4]
mov dword [ebp - 0x468], 0
cmp dword [esi + 4], 0
jne 0x4a3cc5
mov edi, dword [ebx + 0x14]
mov edx, dword [edi + 0x24]
test edx, edx
je 0x445291
mov ecx, dword [ebx + 0x10]
call fcn.00432074
mov edi, eax
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
inc dword [esi + 4]
inc eax
mov dword [esi + 0x10], eax
add esp, 4
mov dword [esi + 0xc], edi
xor eax, eax
mov edi, dword [ebp - 0x464]
mov byte [esi + 9], 1
mov dword [ebp - 0x468], esi
test eax, eax
js 0x4a3d06
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
cmp eax, fcn.0043d700
jne 0x444954
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x488], ecx
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x490], eax
cmp dword [esi + 0xc], 0
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x44c], ecx
je 0x4454ba
test eax, eax
je 0x4a3d1d
mov esi, dword [ebp - 0x44c]
xor eax, eax
test eax, eax
js 0x4a3d06
push 0x401ac4
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
add esp, 4
push eax
push 0x401ac4
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x4a3d24
mov esi, dword [ebp - 0x45c]
mov ecx, 0x200
mov eax, dword [ebp - 0x474]
mov esi, dword [esi]
mov dword [ebp - 0x46c], esi
test word [eax + 0xcc], cx
jne 0x443e3d
mov eax, dword [0x5a43fc]
cmp eax, 1
jne 0x4a3d33
mov eax, dword [ebx]
mov eax, dword [eax + 0x10]
cmp eax, 0x457a90
jne 0x444976
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x48c], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
cmp eax, 0x457a70
jne 0x44498d
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0x494], ecx
mov edx, dword [ebp - 0x460]
mov eax, dword [edx + 0xe4]
cmp eax, dword [edx + 0x6c]
je 0x4448dd
mov edi, dword [ebp - 0x44c]
push ecx
push dword [ebp - 0x48c]
mov ecx, esi
push edi
push dword [ebp - 0x474]
push edx
call fcn.0044fda0
mov edx, dword [ebp - 0x460]
mov ebx, eax
mov dword [ebp - 0x480], eax
cmp dword [esi + 0xb18], 0
mov dword [ebp - 0x478], ebx
mov dword [ebp - 0x448], ebx
jne 0x4a3e23
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx + 8]
cmp eax, dword [0x5a2fdc]
je 0x4a4077
mov eax, dword [esi + 0x184]
test eax, eax
jne 0x4449d7
cmp ecx, dword [0x5a30b0]
je 0x4448cb
cmp ecx, dword [0x5a30b8]
je 0x4448cb
cmp ecx, dword [0x5a30b4]
je 0x4448cb
test eax, eax
jne 0x443f21
cmp ecx, dword [0x5a30ac]
je 0x444f7e
mov edi, dword [ecx]
mov eax, edi
mov dword [ebp - 0x440], edi
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x443f30
mov esi, dword [ebp - 0x440]
sub eax, edx
mov ecx, eax
xor edx, edx
shr ecx, 2
lea esi, [esi + ecx*4]
and ecx, 7
mov dword [ebp - 0x484], esi
mov esi, dword [ebp - 0x46c]
cmp ecx, 2
jne switch.0x004449aa
xor edx, dword [edi + 4]
xor edx, dword [edi]
lea edi, [edi + ecx*4]
cmp edi, dword [ebp - 0x484]
jb 0x4a408f
test al, 2
jne 0x4449c2
test al, 1
jne 0x444a10
or edx, 0x20202020
or ecx, 0xffffffff
mov eax, edx
shr eax, 0xb
xor edx, eax
mov eax, edx
shr eax, 0x10
xor eax, edx
xor edx, edx
div ecx
mov eax, dword [0x5a371c]
mov ecx, dword [0x5a3718]
dec eax
and edx, eax
mov eax, dword [ecx + edx*4]
test eax, eax
jne 0x4a409f
test dword [ebx + 4], 0x200
jne 0x444b2f
mov eax, dword [ebx + 0x14]
push 0x401ad4
mov eax, dword [eax + 8]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
je 0x4a4299
mov eax, dword [ebp - 0x45c]
mov edi, dword [ebp - 0x44c]
cmp byte [eax + 0xc], 0
jne 0x444b97
cmp byte [0x5a1105], 0
jne 0x4449e9
cmp dword [0x5a303c], 6
mov edx, 0xa64e
jne 0x4a4351
test byte [esi + 0x14c], 0x40
je 0x44402e
test dword [esi + 0xaf0], 0x10000
je 0x444044
test byte [esi + 0x148], 8
jne 0x4a4363
cmp dword [0x5a303c], 6
jne 0x444051
movzx eax, word [esi + 0x40]
cmp ax, dx
je 0x4a43a2
mov eax, dword [ebx + 4]
test eax, 0x200
jne 0x444b52
mov ecx, dword [ebp - 0x45c]
mov eax, dword [ebx + 0x40]
shr eax, 0xb
and eax, 0xf
cmp eax, 2
jae 0x4449fd
mov byte [ebp - 0x47c], 0
xor edi, edi
mov dword [ebp - 0x484], edi
mov byte [ebp - 4], 5
test dword [ebx + 4], 0x1000
je 0x4440e5
push dword [ebp - 0x47c]
lea eax, [ebp - 0x444]
mov dword [ebp - 0x444], edi
push eax
push dword [ebp - 0x464]
lea eax, [ecx + 8]
mov edx, ebx
push eax
mov ecx, esi
call fcn.00440cf0
mov ecx, dword [ebp - 0x444]
test al, al
je 0x4448ff
test ecx, ecx
je 0x4440e5
mov eax, dword [ecx]
mov edi, ecx
push ecx
call dword [eax + 4]
mov eax, dword [ebp - 0x444]
push eax
mov dword [ebp - 0x484], edi
mov ecx, dword [eax]
call dword [ecx + 8]
test dword [esi + 0xaf0], 0x100
jne 0x444c43
test dword [ebx + 4], 0x200
jne 0x444c27
test byte [esi + 0x14c], 0x40
setne cl
test dword [esi + 0xaf0], 0x10000
sete al
test al, cl
jne 0x4441f6
test dword [ebx + 4], 0x200
jne 0x444fd9
cmp dword [0x5a303c], 6
jne 0x4a4550
test dword [esi + 0x148], 0x8000000
je 0x444154
test dword [ebx + 4], 0x200
jne 0x445059
cmp byte [ebp - 0x47c], 0
jne 0x4452d5
mov eax, dword [ebx + 0x40]
and eax, 0x7800
cmp eax, 0x800
je 0x4452d5
mov eax, dword [ebx + 0x14]
push 0x402d8c
mov eax, dword [eax + 8]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
je 0x4a44b7
mov eax, dword [ebx + 0x14]
push 0x402d84
mov eax, dword [eax + 8]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
je 0x4a44e5
push 9
push 0x402d70
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x4a4526
cmp dword [0x5a303c], 6
jne 0x4a4550
mov eax, dword [ebx + 0x14]
push 0x402d7c
push dword [eax]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
je 0x4a4562
cmp dword [0x5a303c], 5
je 0x444299
cmp dword [0x5a303c], 1
je 0x444299
test dword [ebx + 4], 0x200
jne 0x444d01
test dword [esi + 0xaf0], 0x800
je 0x4a460c
test dword [ebx + 4], 0x200
jne 0x444d22
bt dword [esi + 0xaf0], 0x10
mov edx, dword [esi + 0x14c]
setae cl
test dl, 0x40
setne al
test al, cl
je 0x44426c
test edx, 0x20000000
jne 0x444299
mov eax, dword [esi + 0x150]
shr eax, 7
and al, 1
je 0x444299
jmp 0x444287
movzx eax, word [esi + 0x40]
mov ecx, 0xa64e
cmp ax, cx
je 0x4a464b
test byte [esi + 0x150], 0x90
je 0x444299
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 8]
cmp eax, dword [0x5a2eec]
je 0x4447bb
cmp dword [0x5a303c], 6
jne 0x4442af
test dword [ebx + 4], 0x200
jne 0x444e72
cmp byte [0x5a2ee5], 0
jne 0x444c04
test dword [ebx + 4], 0x800
jne 0x44477a
test dword [esi + 0x150], 0x2000000
jne 0x4a4826
test dword [ebp - 0x48c], 0x20000000
mov edx, dword [ebp - 0x460]
je 0x4442fa
mov eax, dword [ebx + 8]
sub eax, dword [ebx + 0x20]
je 0x4442fa
or dword [edx + 0xd4], 8
mov eax, dword [0x5a303c]
cmp eax, 5
je 0x4a4c24
cmp eax, 1
je 0x4a4c24
test byte [esi + 0x14c], 0x40
setne cl
test dword [esi + 0xaf0], 0x10000
sete al
test al, cl
jne 0x44433c
test dword [edx + 0xd4], 0x100
jne 0x44546b
bt dword [esi + 0xaf0], 0x10
mov edx, dword [esi + 0x14c]
setae cl
test dl, 0x40
setne al
test al, cl
je 0x444370
test edx, 0x20000000
jne 0x4446d3
mov eax, dword [esi + 0x150]
shr eax, 7
and al, 1
jmp 0x444389
movzx eax, word [esi + 0x40]
mov ecx, 0xa64e
cmp ax, cx
je 0x4a48cb
test byte [esi + 0x150], 0x90
je 0x4446d3
mov dword [ebp - 0x44c], 0
test edi, edi
je 0x4443c5
mov eax, dword [edi]
lea ecx, [ebp - 0x4a4]
push ecx
lea ecx, [ebp - 0x458]
push ecx
push edi
call dword [eax + 0xc]
test eax, eax
js 0x4a3d06
mov eax, dword [ebp - 0x458]
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x454], ebx
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx + 0xa0]
cmp ebx, ecx
jb 0x4a48e0
mov eax, dword [edx + 0xe4]
lea eax, [eax + eax*4]
shl eax, 4
add eax, ecx
cmp ebx, eax
ja 0x4a48e0
mov eax, ebx
sub eax, ecx
sar eax, 4
imul eax, eax, 0xcccccccd
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x98]
lea edx, [eax + ecx*4]
mov eax, dword [ebx + 0x10]
mov ecx, 0x400
mov dword [ebp - 0x448], edx
test word [eax + 0xcc], cx
jne 0x444494
mov eax, dword [ebx + 0x24]
mov dword [edx + 4], eax
test eax, eax
je 0x444494
mov ecx, dword [0x5a3f44]
lea eax, [eax + eax*2]
mov dword [ebp - 0x444], ecx
lea eax, [eax*8 + 8]
mov dword [ebp - 0x478], eax
test ecx, ecx
je 0x4453cb
mov eax, dword [ecx + 0xc]
sub eax, dword [ecx + 4]
cmp dword [ebp - 0x478], eax
ja 0x4453c5
mov eax, dword [ecx + 8]
sub eax, dword [ecx + 4]
cmp dword [ebp - 0x478], eax
ja 0x445201
mov ebx, dword [ebp - 0x444]
mov ecx, dword [ecx + 4]
mov eax, dword [ebp - 0x478]
add eax, ecx
mov dword [ebx + 4], eax
mov eax, ebx
mov ebx, dword [ebp - 0x480]
add eax, ecx
mov dword [edx], eax
cmp dword [ebp - 0x44c], 0
mov dword [edx + 0x10], 0
je 0x444663
test byte [esi + 0x14c], 0x40
setne cl
test dword [esi + 0xaf0], 0x10000
sete al
test al, cl
je 0x444563
mov eax, dword [ebp - 0x454]
test dword [eax + 4], 0x1000
je 0x444563
xor eax, eax
mov dword [ebp - 0x438], 0x401c40
mov dword [ebp - 0x434], 0x401c38
mov dword [ebp - 0x430], 0x401c30
mov dword [ebp - 0x42c], 0x401c28
mov dword [ebp - 0x450], eax
lea ebx, [ebx]
mov esi, dword [ebp + eax*4 - 0x438]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
add esp, 4
push eax
push esi
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x4453fb
mov eax, dword [ebp - 0x450]
inc eax
mov dword [ebp - 0x450], eax
cmp eax, 4
jb 0x444510
mov eax, dword [ebp - 0x448]
mov eax, dword [eax + 0x10]
mov esi, dword [ebp - 0x46c]
test al, 0x40
jne 0x44540a
test byte [esi + 0x1b4], 6
jne 0x44540a
movzx eax, word [esi + 0x40]
mov ecx, 0xa64e
cmp ax, cx
je 0x44540a
mov edx, dword [ebp - 0x44c]
mov cl, byte [edx]
cmp cl, 0x3f
jne 0x4445b7
cmp byte [edx + 1], cl
jne 0x4445c9
cmp byte [edx + 2], 0x5f
jne 0x4445c9
cmp byte [edx + 3], 0x5f
jne 0x4445c9
mov al, byte [edx + 4]
cmp al, 0x45
jne 0x445371
mov dword [ebp - 0x440], 1
jmp 0x4445d3
xor eax, eax
cmp cl, 0x5f
sete al
cmp byte [eax + edx], 0x24
je 0x4a4905
mov dword [ebp - 0x440], 0
mov ecx, dword [ebp - 0x448]
push 0xa
push 0x401aa0
push edx
mov eax, dword [ecx + 0x10]
and eax, 0xfffffffe
or eax, dword [ebp - 0x440]
mov dword [ecx + 0x10], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x44508f
push 0xd
push 0x401aac
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x44508f
xor edx, edx
mov ecx, dword [ebp - 0x448]
push 4
push 0x401abc
push dword [ebp - 0x44c]
mov eax, dword [ecx + 0x10]
and eax, 0xfffffffd
or eax, edx
mov dword [ecx + 0x10], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x4452ba
xor ecx, ecx
mov edx, dword [ebp - 0x448]
mov eax, dword [edx + 0x10]
and eax, 0xfffffffb
or eax, ecx
mov dword [edx + 0x10], eax
mov dword [edx + 0xc], 0
mov dword [edx + 8], 0
test byte [esi + 0x14c], 0x40
setne cl
test dword [esi + 0xaf0], 0x10000
sete al
test al, cl
je 0x4446ae
mov eax, dword [ebx + 0x14]
mov ecx, 0x5a1508
mov dword [ebp - 0x458], eax
lea eax, [ebp - 0x458]
push eax
call fcn.0047dda7
test eax, eax
jne 0x4451d6
test dword [ebx + 4], 0x1000
je 0x4451d6
mov eax, dword [ebx + 0x40]
and eax, 0xf
cmp eax, 5
je 0x444a1a
cmp eax, 8
je 0x4a4959
cmp byte [0x5a2ee5], 0
jne 0x444e87
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 8]
cmp eax, dword [0x5a2eec]
je 0x444f8a
push dword [ebp - 0x460]
mov eax, dword [ebp - 0x45c]
mov edx, ebx
mov ecx, dword [ebp - 0x46c]
add eax, 8
push eax
push dword [ebp - 0x470]
call fcn.004403b0
mov byte [ebp - 4], 0x21
test edi, edi
je 0x444723
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov dword [ebp - 4], 0x22
mov esi, dword [ebp - 0x468]
test esi, esi
je 0x44479d
mov eax, dword [esi]
mov eax, dword [eax + 8]
cmp eax, 0x443c30
jne 0x4449cf
add dword [esi + 4], 0xffffffff
jne 0x44479d
cmp byte [esi + 8], 0
jne 0x44479d
mov eax, dword [esi + 0xc]
mov dword [esi], 0x401a90
test eax, eax
je 0x44476d
cmp byte [esi + 9], 0
jne 0x44476d
push eax
call dword [sym.imp.tbbmalloc.dll_scalable_free]
add esp, 4
push 0x14
push esi
call fcn.0047a41d
add esp, 8
jmp 0x44479d
mov byte [ebp - 4], 0x1b
test edi, edi
jne 0x4452a0
mov dword [ebp - 4], 0x1c
mov eax, dword [ebp - 0x468]
test eax, eax
je 0x44479d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0047a40f
mov esp, ebp
pop ebp
ret 4
mov eax, dword [ebx + 0x10]
mov ecx, 0x400
test word [eax + 0xcc], cx
jne 0x444299
cmp dword [ebx + 0x24], 0
je 0x444299
movzx eax, word [esi + 0x40]
mov ecx, eax
test ax, ax
je 0x4a4660
mov edx, 0x14c
cmp cx, dx
jne 0x4a466b
mov dword [ebp - 0x444], 0xc
mov ecx, dword [ebp - 0x470]
lea edx, [ebp - 0x454]
push edx
push ecx
mov eax, dword [ecx]
call dword [eax + 0x18]
test eax, eax
js 0x4a4287
mov eax, dword [ebp - 0x454]
test eax, eax
je 0x4a46d3
mov edx, dword [0x5a4494]
cmp edx, eax
jb 0x445394
mov eax, dword [ebp - 0x470]
mov eax, dword [eax]
mov ecx, dword [eax + 0x34]
lea eax, [edx + edx*4]
add eax, eax
push eax
push dword [0x5a4490]
push dword [ebp - 0x470]
call ecx
test eax, eax
js 0x4a4287
mov ecx, dword [ebp - 0x454]
mov edx, dword [0x5a4490]
mov eax, dword [ebx + 0x40]
and eax, 0xf
mov dword [ebp - 0x440], ecx
cmp al, 5
jne 0x4452ab
mov eax, dword [ebx + 0x48]
mov dword [ebp - 0x464], eax
test ecx, ecx
je 0x444299
mov esi, dword [ebp - 0x444]
add edx, 4
mov dword [ebp - 0x450], edx
nop
movzx eax, word [edx + 4]
cmp eax, esi
je 0x4a46dc
add edx, 0xa
sub ecx, 1
mov dword [ebp - 0x450], edx
mov dword [ebp - 0x440], ecx
jne 0x4448a0
mov esi, dword [ebp - 0x46c]
jmp 0x444299
or dword [ebx + 4], 0x800
mov eax, dword [esi + 0x184]
jmp 0x443f11
mov ebx, dword [edx + 0xa0]
lea ecx, [edi + edi*4]
mov edi, dword [ebp - 0x44c]
add ebx, 0xffffffb0
shl ecx, 4
add ebx, ecx
mov dword [ebp - 0x480], ebx
jmp 0x443eb4
test ecx, ecx
je 0x444909
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
or dword [ebx + 4], 0x800
mov dword [ebp - 4], 7
jmp 0x44478d
lea ecx, [ebp - 0x4a0]
push ecx
push ebx
call eax
test eax, eax
js 0x4a3cb9
mov ecx, dword [ebp - 0x49c]
mov edx, dword [ebp - 0x4a0]
jmp 0x443cf5
lea ecx, [ebp - 0x468]
push ecx
push ebx
call eax
mov esi, dword [ebp - 0x468]
jmp 0x443d92
lea ecx, [ebp - 0x490]
push ecx
lea ecx, [ebp - 0x488]
push ecx
push esi
call eax
mov esi, dword [ebp - 0x488]
mov dword [ebp - 0x44c], esi
jmp 0x443ddf
lea ecx, [ebp - 0x48c]
push ecx
push ebx
call eax
test eax, eax
jns 0x443e59
jmp 0x4a3d06
lea ecx, [ebp - 0x494]
push ecx
push ebx
call eax
test eax, eax
js 0x4a3d06
mov ecx, dword [ebp - 0x494]
jmp 0x443e75
jmp dword [ecx*4 + 0x44551c]
xor edx, dword [edi + 0x14]
xor edx, dword [edi + 0x10]
xor edx, dword [edi + 0xc]
xor edx, dword [edi + 8]
jmp case.0x4449aa.2
movzx ecx, word [edi]
xor edx, ecx
add edi, 2
jmp 0x443f7d
push esi
call eax
jmp 0x44479d
test byte [esi + 0x188], 1
jne 0x443f21
jmp 0x443eed
mov eax, dword [ebx + 0x14]
cmp eax, dword [0x5a30b4]
jne 0x444007
jmp 0x4a4321
add eax, 0xfffffffe
cmp eax, 3
ja case.default.0x444a09
jmp dword [eax*4 + 0x44553c]
movzx eax, byte [edi]
xor edx, eax
jmp 0x443f85
mov ecx, dword [ebx + 0x48]
test ecx, ecx
je 0x4446d3
cmp byte [ebp - 0x47c], 0
jne 0x445361
mov edx, dword [ecx + 0x10]
cmp ecx, dword [edx + 0xa0]
jb 0x4a491f
mov eax, dword [edx + 0xe4]
lea eax, [eax + eax*4]
shl eax, 4
add eax, dword [edx + 0xa0]
cmp ecx, eax
ja 0x4a491f
sub ecx, dword [edx + 0xa0]
sar ecx, 4
imul eax, ecx, 0xcccccccd
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x98]
lea ecx, [eax + ecx*4]
mov edx, dword [ecx]
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x440], edx
test edx, edx
je 0x444a90
mov eax, dword [edx + 4]
cmp eax, dword [ecx + 4]
jne 0x444aee
mov dword [ecx + 4], 8
mov edx, dword [0x5a3f44]
mov dword [ebp - 0x440], edx
test edx, edx
je 0x4a4931
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 4]
sub eax, ecx
cmp eax, 0xc8
jb 0x4a4931
mov eax, dword [edx + 8]
sub eax, ecx
cmp eax, 0xc8
jb 0x445303
mov ecx, dword [edx + 4]
lea eax, [ecx + 0xc8]
mov dword [edx + 4], eax
add edx, ecx
mov ecx, dword [ebp - 0x450]
mov dword [ebp - 0x440], edx
mov eax, dword [ecx]
mov dword [edx], eax
mov dword [ecx], edx
mov ecx, dword [edx + 4]
lea eax, [ecx + ecx*2]
shl eax, 3
add edx, eax
lea eax, [ecx + 1]
mov ecx, dword [ebp - 0x440]
mov dword [ecx + 4], eax
mov eax, 0xffff
mov word [edx + 0x18], ax
mov byte [edx + 0x1a], 0
and dword [edx + 0x18], 0x80ffffff
mov dword [edx + 0x14], 0
mov dword [edx + 8], ebx
mov dword [edx + 0x10], 0
jmp 0x4446d3
mov eax, dword [ebx + 0x14]
push 0x402dcc
mov eax, dword [eax + 8]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne 0x443fc6
jmp 0x4a4155
or eax, 0x800
mov ecx, 0x3a64
mov dword [ebx + 4], eax
movzx eax, word [esi + 0x40]
cmp ax, cx
je 0x4a43e9
cmp ax, dx
je 0x4a43e9
push 0x401adc
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
mov ecx, dword [ebp - 0x45c]
add esp, 8
test eax, eax
jne 0x444065
jmp 0x4a441f
push 0x402d94
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
je 0x443ffa
push 0x402da0
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
je 0x443ffa
push 0x402df4
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
je 0x443ffa
push 6
push 0x401bec
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x443ffa
mov eax, dword [ebp - 0x45c]
mov byte [eax + 0xc], 0
jmp 0x443ffa
push 8
push 0x402dd8
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x4442bc
jmp 0x4a481c
push 0x402d94
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
je 0x445099
test dword [ebx + 4], 0x200
je 0x444102
push 0x402da0
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne 0x444102
mov dword [ebp - 0x464], eax
mov ecx, dword [ebp - 0x470]
lea edx, [ebp - 0x464]
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x454], eax
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x24]
test eax, eax
js 0x4a4287
mov eax, dword [ebp - 0x464]
lea edx, [ebp - 0x454]
push edx
lea edx, [ebp - 0x440]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x4a4287
mov ecx, dword [ebp - 0x454]
call fcn.0043d6d0
push dword [ebp - 0x454]
mov dword [0x5a3ea8], eax
push dword [ebp - 0x440]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov byte [ebp - 4], 0xb
mov eax, dword [ebp - 0x464]
test eax, eax
je 0x444cf8
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 5
jmp 0x444102
push 0x402dec
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne 0x44421d
jmp 0x4a45e2
mov eax, dword [ebx + 0x14]
push 0x402de4
mov eax, dword [eax + 8]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne 0x44423a
cmp dword [0x5a2f7c], eax
je 0x44423a
mov dword [ebp - 0x454], eax
mov ecx, dword [ebp - 0x470]
lea edx, [ebp - 0x454]
mov byte [ebp - 4], 0x17
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x444], eax
mov eax, dword [ecx]
push edx
push ecx
call dword [eax + 0x24]
test eax, eax
js 0x4a4287
mov eax, dword [ebp - 0x454]
lea edx, [ebp - 0x444]
push edx
lea edx, [ebp - 0x440]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x4a4287
mov eax, dword [ebp - 0x444]
mov ecx, eax
and ecx, 0x80000003
jns 0x444db6
dec ecx
or ecx, 0xfffffffc
add ecx, 1
jne 0x4a428e
mov ecx, dword [ebp - 0x440]
cdq
and edx, 3
mov dword [ebp - 0x458], ecx
add eax, edx
xor edx, edx
sar eax, 2
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x444], eax
test eax, eax
jle 0x444e55
mov eax, dword [ebp - 0x460]
mov ecx, dword [ecx + edx*4]
cmp ecx, dword [eax + 0x68]
jae 0x4a463b
mov esi, dword [0x5a2f7c]
mov eax, ecx
shr eax, 5
and ecx, 0x1f
lea eax, [esi + eax*4]
mov esi, dword [ebp - 0x46c]
mov dword [ebp - 0x450], eax
mov eax, dword [eax]
mov dword [ebp - 0x464], eax
mov eax, 1
shl eax, cl
and eax, dword [ebp - 0x464]
jne 0x4a4630
mov eax, dword [ebp - 0x464]
bts eax, ecx
mov ecx, dword [ebp - 0x450]
mov dword [ecx], eax
mov eax, dword [ebp - 0x444]
mov dword [ebp - 0x448], eax
mov ecx, dword [ebp - 0x458]
inc edx
cmp edx, eax
jl 0x444de3
mov byte [ebp - 4], 0x18
mov eax, dword [ebp - 0x454]
test eax, eax
je 0x444e69
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 5
jmp 0x44423a
test dword [esi + 0x19c], 0x400
je 0x4442af
jmp 0x4a47c2
cmp byte [0x5a2ef9], 0
jne 0x4446e0
mov ecx, dword [ebx + 0x14]
mov eax, dword [ecx + 8]
cmp eax, dword [0x5a2eec]
je 0x4446e0
mov eax, dword [ecx + 4]
cmp eax, dword [0x5a2ee8]
je 0x4446e0
mov eax, dword [ebp - 0x474]
cmp byte [eax + 0xe8], 0
je 0x4a4997
mov eax, dword [eax + 0xd4]
shr eax, 0xa
and al, 1
test al, al
jne 0x44537e
mov eax, dword [ebx + 0x14]
push 7
push 0x402e0c
push dword [eax]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x4446e0
mov eax, dword [ebx + 0x14]
mov esi, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
push 0x401bfc
mov eax, dword [eax + 8]
push dword [eax]
call esi
add esp, 8
test eax, eax
je 0x4446e0
mov eax, dword [ebx + 0x14]
push 0x402e14
mov eax, dword [eax + 8]
push dword [eax]
call esi
add esp, 8
test eax, eax
je 0x4446e0
mov eax, dword [ebx + 0x14]
xor ecx, ecx
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x450], ecx
cmp dword [0x5a4b78], ecx
ja 0x4a4a43
test byte [ebx + 4], 0x20
je 0x44526a
imul ecx, dword [ebx + 8], 0x19
mov eax, 0x51eb851f
mul ecx
lea esi, [ecx - 0x64]
shr edx, 5
cmp esi, 0x64
sbb eax, eax
not eax
and eax, edx
mov dword [ebx + 0x20], eax
add dword [ebx + 8], eax
jmp 0x4446e0
or dword [ebx + 4], 0x800
jmp 0x443f21
mov esi, dword [ebp - 0x460]
cmp byte [esi + 0xe8], 0
je 0x4a4a8d
mov eax, dword [esi + 0xd4]
shr eax, 0xa
and al, 1
test al, al
jne 0x444fc1
mov esi, dword [ebp - 0x46c]
mov ecx, esi
call fcn.0046bf6f
test al, al
jne 0x4a4b2f
mov byte [ebp - 4], 0x27
test edi, edi
jne 0x4a4c19
mov dword [ebp - 4], 0x28
jmp 0x44478d
push 0x402e00
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne case.0x445457.3
mov ecx, dword [ebx + 0x10]
mov eax, dword [ecx + 0x14]
cmp eax, 1
jne 0x4454c7
cmp byte [ecx + 0x2c], 0
jne 0x4a449a
mov eax, dword [ecx + 0x14]
cmp eax, 1
jne 0x44544d
mov al, byte [ecx + 0x2d]
test al, al
je case.0x445457.3
cmp dword [0x5a303c], 6
jne 0x4a4550
cmp dword [esi + 0x1a0], 0
je 0x44413b
mov ecx, dword [ebp - 0x45c]
lea eax, [ebp - 0x478]
push eax
lea ecx, [ecx + 0x28]
call fcn.0043a998
jmp case.0x445457.3
push 0x402e1c
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne 0x444154
mov ecx, dword [ebp - 0x45c]
lea eax, [ebp - 0x478]
push eax
lea ecx, [ecx + 0x40]
call fcn.0043a998
jmp 0x444154
mov edx, 2
jmp 0x444621
mov dword [ebp - 0x454], 0
mov ecx, dword [ebp - 0x470]
lea edx, [ebp - 0x454]
mov byte [ebp - 4], 8
push edx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0x440], 0
mov dword [ebp - 0x448], 0
call dword [eax + 0x28]
test eax, eax
js 0x4a4287
mov eax, dword [ebp - 0x454]
lea edx, [ebp - 0x448]
push edx
lea edx, [ebp - 0x440]
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0xc]
test eax, eax
js 0x4a4287
mov eax, dword [ebp - 0x448]
mov dword [ebp - 0x450], eax
cmp eax, 0xfffffff7
ja 0x4a4438
lea ecx, [eax + 1]
call fcn.0043d6d0
push dword [ebp - 0x448]
mov dword [ebp - 0x464], eax
push dword [ebp - 0x440]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [ebp - 0x448]
add esp, 0xc
mov eax, dword [ebp - 0x464]
xor ecx, ecx
test edx, edx
jle 0x445151
cmp byte [eax + ecx], 0
je 0x4a4448
inc ecx
cmp ecx, edx
jl 0x445142
mov byte [edx + eax], 0
cmp dword [ebp - 0x448], 3
jl 0x445167
cmp byte [eax], 0xef
je 0x4a4457
mov ecx, eax
call fcn.0044ef9d
mov dword [ebp - 0x444], eax
mov eax, dword [ebp - 0x464]
test eax, eax
je 0x445188
push eax
call dword [sym.imp.tbbmalloc.dll_scalable_free]
add esp, 4
cmp byte [0x5a2ef9], 0
jne 0x4a4478
push dword [ebp - 0x444]
mov edx, dword [ebx + 0x10]
mov ecx, esi
call fcn.0045c06e
mov eax, dword [ebp - 0x444]
test eax, eax
je 0x4451b9
push eax
call dword [sym.imp.tbbmalloc.dll_scalable_free]
add esp, 4
mov byte [ebp - 4], 9
mov eax, dword [ebp - 0x454]
test eax, eax
je 0x4451cd
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 5
jmp 0x444c43
mov edx, 0xc
mov ecx, 0x5a3f3c
call fcn.0044a45f
mov ecx, dword [0x5a3f38]
mov dword [0x5a3f38], eax
mov dword [eax], ecx
mov dword [eax + 4], ebx
mov dword [eax + 8], 1
jmp 0x4446d3
mov edx, dword [ecx + 4]
mov eax, dword [ebp - 0x478]
lea esi, [edx + eax]
mov dword [ebp - 0x450], esi
lea esi, [ecx + edx]
push 4
push 0x1000
push eax
push esi
call dword [sym.imp.KERNEL32.dll_VirtualAlloc]
test eax, eax
je 0x4a48e8
mov eax, dword [ebp - 0x444]
xor edx, edx
mov ecx, dword [0x5a3e5c]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x450]
sub eax, esi
dec eax
add eax, ecx
div ecx
imul eax, ecx
mov ecx, dword [ebp - 0x444]
add eax, esi
mov esi, dword [ebp - 0x46c]
mov dword [ecx + 8], eax
mov edx, dword [ebp - 0x448]
jmp 0x444474
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 8]
cmp eax, dword [0x5a30dc]
mov eax, dword [ebx + 8]
lea ecx, [eax + eax*4]
mov eax, 0x51eb851f
jne 0x4452d0
add ecx, ecx
mul ecx
mov eax, edx
shr eax, 5
jmp 0x444f73
mov eax, dword [edi]
mov ecx, edi
call dword [eax + 0x44]
mov edx, dword [edi + 0x24]
jmp 0x443d62
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x444786
mov dword [ebp - 0x464], 0
jmp 0x444888
mov ecx, 4
jmp 0x444652
mov byte [ebp - 0x47c], 1
jmp 0x44407e
shl ecx, 2
jmp 0x445285
cmp dword [esi + 0x19c], 0
jne 0x4441ce
or dword [ebx + 4], 0x800
mov byte [ebp - 4], 0xc
test edi, edi
je 0x4452f7
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov dword [ebp - 4], 0xd
jmp 0x44478d
lea eax, [ecx + 0xc8]
add ecx, edx
push 4
push 0x1000
mov edx, 0xc8
mov dword [ebp - 0x458], eax
call fcn.0046211a
test eax, eax
je 0x4a4927
mov eax, dword [ebp - 0x440]
xor edx, edx
mov ecx, dword [0x5a3e5c]
mov esi, dword [eax + 8]
mov eax, dword [ebp - 0x458]
sub eax, esi
dec eax
add eax, ecx
div ecx
mov edx, dword [ebp - 0x440]
imul eax, ecx
add eax, esi
mov esi, dword [ebp - 0x46c]
mov dword [edx + 8], eax
jmp 0x444ace
or dword [ebx + 0x44], 1
or dword [ebx + 4], 0x2000
jmp 0x4446d3
cmp al, 0x46
je 0x4445ab
jmp 0x4445c9
mov eax, dword [esi + 0x148]
shr eax, 0x1c
test al, 1
je 0x4446e0
jmp 0x444edb
mov ecx, dword [0x5a4490]
lea edx, [eax + eax*4]
add edx, edx
call fcn.0042fd56
mov edx, dword [ebp - 0x454]
mov dword [0x5a4490], eax
mov dword [0x5a4494], edx
jmp 0x444838
mov dword [ebp - 0x474], esi
jmp 0x443d05
mov eax, dword [ebp - 0x478]
lea ecx, [eax + 0x40000f]
mov edx, eax
and ecx, 0xffc00000
call fcn.004620b1
mov ecx, eax
mov eax, dword [ebp - 0x444]
test eax, eax
jne 0x445449
mov dword [0x5a3f44], ecx
mov dword [ebp - 0x444], ecx
jmp 0x44525f
mov eax, dword [ebp - 0x448]
or dword [eax + 0x10], 0x40
jmp 0x444552
mov ecx, dword [ebp - 0x44c]
call fcn.00477f17
mov dword [ebp - 0x450], eax
lea edx, [ebp - 0x440]
lea eax, [ebp - 0x450]
mov dword [ebp - 0x440], 0x5a1860
push eax
lea eax, [ebp - 0x454]
push eax
lea ecx, [ebp - 0x434]
call fcn.0047e3d7
jmp 0x444582
mov dword [ecx], eax
jmp 0x4453ea
dec eax
cmp eax, 4
ja case.0x445457.3
jmp dword [eax*4 + 0x44554c]
mov eax, dword [ecx + 0x38]
shr eax, 3
and al, 1
jmp 0x44501d
mov eax, dword [ebx + 0x14]
push 0x4022bc
mov eax, dword [eax + 8]
push dword [eax]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne 0x44433c
mov ecx, dword [esi + 0x148]
test ecx, 0x20000000
jne 0x4454e7
movzx eax, word [esi + 0x40]
mov edx, 0xa64e
cmp ax, dx
je 0x4a4896
test ecx, 0x20000000
je 0x44433c
jmp 0x4a48c1
test eax, eax
je 0x443dd7
jmp 0x4a3d1d
dec eax
cmp eax, 4
ja case.0x4454d1.3
jmp dword [eax*4 + 0x445560]
test byte [ecx + 0x38], 1
je case.0x4454d1.3
jmp 0x4a449a
mov eax, dword [ebp - 0x45c]
mov ecx, esi
add eax, 8
push eax
push dword [ebp - 0x470]
push ebx
call fcn.0051cc21
mov ecx, dword [esi + 0x148]
mov eax, 0xa64e
cmp word [esi + 0x40], ax
jne 0x4454a9
mov eax, dword [ebp - 0x460]
jmp 0x4a48a9
mov ecx, eax
call fcn.004fd165
jmp 0x4453ba
mov ecx, 0x14
call fcn.0043d6d0
mov esi, eax
mov dword [ebp - 0x458], esi
test esi, esi
je 0x4a3d01
mov dword [esi], 0x401a90
mov dword [esi + 4], 0
mov dword [esi + 0xc], 0
mov dword [esi + 0x10], 0
mov word [esi + 8], 0
jmp 0x443d54
mov eax, 0x8007000e
mov ecx, eax
call fcn.004fd165
push 0x4d4
push dword [ebp - 0x474]
call fcn.0052bb8a
mov eax, 0x8000ffff
jmp 0x4a3d06
mov dword [ebp - 0x44c], 0x403564
jmp 0x443e0d
cmp eax, 2
je 0x4a3dc6
cmp dword [0x5a303c], 6
jne 0x4a3e14
cmp byte [0x5a1105], 0
je 0x4a3e14
cmp byte [0x5a4e28], 0
jne 0x4a3e14
cmp byte [0x5a2ef9], 0
jne 0x4a3e14
cmp dword [esi + 0x184], 3
jne 0x4a3e14
test byte [esi + 0x150], 4
jne 0x4a3e14
test dword [esi + 0x148], 0x400000
je 0x4a3e14
call dword [0x5a2f0c]
test eax, eax
jne 0x4a3e14
test byte [esi + 0x14c], 0x40
je 0x4a3e08
movzx eax, word [esi + 0xaf2]
test al, 1
je 0x4a3dbe
mov dword [0x5a43fc], 2
and al, 1
je 0x443e3d
push 0x429c20
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
add esp, 4
push eax
push 0x429c20
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x443e3d
mov eax, dword [ebp - 0x474]
mov ecx, 0x200
or word [eax + 0xcc], cx
jmp 0x443e3d
mov dword [0x5a43fc], 2
jmp 0x4a3dc6
mov dword [0x5a43fc], 1
jmp 0x443e3d
test byte [esi + 0x14c], 0x40
je 0x4a3e3c
test dword [esi + 0xaf0], 0x10000
je 0x443ecd
mov ecx, edx
call fcn.004356b8
test al, al
jne 0x443ecd
mov ecx, dword [0x5a30c0]
test ecx, ecx
je 0x4a3e64
mov eax, dword [esi + 0xb18]
cmp eax, dword [ecx + 8]
je 0x443ecd
push 0x40264c
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne 0x443ecd
mov dword [ebp - 0x440], eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x448]
mov eax, dword [ecx + 0x10]
sub ecx, dword [eax + 0xa0]
mov eax, 0x66666667
imul ecx
lea ecx, [ebp - 0x440]
sar edx, 5
mov eax, edx
inc edx
shr eax, 0x1f
push ecx
mov ecx, dword [ebp - 0x460]
add eax, edx
push eax
call fcn.004396db
test al, al
jne 0x4a3ecd
push 0x4d4
push dword [ebp - 0x448]
call fcn.004dedcb
mov esi, dword [ebp - 0x440]
lea ecx, [ebp - 0x450]
push ecx
mov dword [ebp - 0x454], 0
lea ecx, [ebp - 0x454]
mov dword [ebp - 0x450], 0
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0xc]
test eax, eax
js 0x4a4060
mov ecx, dword [ebp - 0x454]
call fcn.0044efd9
lea ecx, [ebp - 0x439]
mov edx, eax
push ecx
mov ecx, dword [ebp - 0x46c]
call fcn.005396dc
mov dword [ebp - 0x484], eax
test eax, eax
je 0x4a4047
mov ecx, dword [ebp - 0x448]
or dword [ecx + 0x40], 0x10000000
mov ecx, eax
call fcn.004562c9
push eax
mov dword [ebp - 0x47c], eax
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov edx, dword [ebp - 0x448]
add esp, 4
mov ecx, 1
lea edi, [eax + 1]
mov edx, dword [edx + 4]
call fcn.00438e1a
push dword [ebp - 0x47c]
dec eax
test edi, eax
je 0x4a3faa
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov edx, dword [ebp - 0x448]
add esp, 4
mov dword [ebp - 0x444], edx
mov ecx, 1
lea edi, [eax + 1]
mov edx, dword [edx + 4]
call fcn.00438e1a
mov ecx, eax
neg ecx
and ecx, edi
add ecx, eax
mov eax, dword [ebp - 0x444]
jmp 0x4a3fbc
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
add esp, 4
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x448]
cmp ecx, dword [eax + 8]
jbe 0x4a3fc4
mov dword [eax + 8], ecx
mov eax, dword [0x5a30c0]
test eax, eax
jne 0x4a400a
lea ecx, [eax + 0x18]
call fcn.0043d6d0
mov dword [ebp - 0x458], eax
test eax, eax
je 0x4a4003
mov dword [eax], 0x4019a0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
mov dword [eax + 0x14], 0
jmp 0x4a4005
xor eax, eax
mov dword [0x5a30c0], eax
mov dword [ebp - 0x444], eax
lea edx, [ebp - 0x444]
lea eax, [ebp - 0x47c]
push eax
lea eax, [ebp - 0x448]
push eax
lea ecx, [ebp - 0x434]
call fcn.0047e3d7
cmp byte [ebp - 0x439], 0
je 0x4a4047
push dword [ebp - 0x484]
call dword [sym.imp.tbbmalloc.dll_scalable_free]
add esp, 4
mov byte [ebp - 4], 2
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, dword [ebp - 0x46c]
mov byte [ebp - 4], 0
jmp 0x443ecd
mov ecx, eax
call fcn.004fd165
push 0x4d4
push dword [ebp - 0x448]
call fcn.004dedcb
mov eax, dword [ebx + 0x10]
mov dword [eax + 0xa4], ebx
or dword [ebx + 4], 0x800
mov ecx, dword [ebx + 0x14]
jmp 0x443edf
xor edx, dword [edi + 0x1c]
mov ecx, 8
xor edx, dword [edi + 0x18]
jmp 0x4449b1
mov edi, dword [0x5a36f8]
add edi, eax
mov dword [ebp - 0x444], edi
mov edi, dword [ebp - 0x440]
mov bl, byte [edi]
mov byte [ebp - 0x439], bl
mov ebx, dword [ebp - 0x444]
mov cl, byte [ebp - 0x439]
cmp cl, byte [ebx]
mov ebx, dword [ebp - 0x480]
mov ecx, dword [0x5a3718]
jne 0x4a4117
cmp byte [ebp - 0x439], 0
je 0x4a4113
mov esi, dword [ebp - 0x444]
mov bl, byte [edi + 1]
mov byte [ebp - 0x439], bl
cmp bl, byte [esi + 1]
mov ebx, dword [ebp - 0x480]
mov esi, dword [ebp - 0x46c]
jne 0x4a4117
add dword [ebp - 0x444], 2
add edi, 2
cmp byte [ebp - 0x439], 0
jne 0x4a40b3
xor edi, edi
jmp 0x4a411c
sbb edi, edi
or edi, 1
test edi, edi
je 0x4a413d
lea eax, [edx + 1]
cmp eax, dword [0x5a371c]
sbb edx, edx
and edx, eax
mov eax, dword [ecx + edx*4]
test eax, eax
jne 0x4a409f
jmp 0x443fb9
test eax, eax
je 0x443fb9
or dword [ebx + 0x44], 2
or dword [ebx + 4], 0x800
jmp 0x443fb9
mov eax, dword [esi + 0x150]
shr eax, 8
test al, 1
je 0x4a4275
test byte [esi + 0x14c], 0x40
je 0x4a417f
test dword [esi + 0xaf0], 0x10000
je 0x4a4275
mov dword [ebp - 0x448], 0
mov byte [ebp - 4], 3
mov ecx, ebx
mov eax, dword [ebx + 0x10]
sub ecx, dword [eax + 0xa0]
mov eax, 0x66666667
imul ecx
lea ecx, [ebp - 0x448]
sar edx, 5
mov eax, edx
inc edx
shr eax, 0x1f
push ecx
mov ecx, dword [ebp - 0x460]
add eax, edx
push eax
call fcn.004396db
test al, al
jne 0x4a41cc
push 0x4d4
push ebx
call fcn.004dedcb
mov esi, dword [ebp - 0x448]
lea ecx, [ebp - 0x444]
push ecx
mov dword [ebp - 0x47c], 0
lea ecx, [ebp - 0x47c]
mov dword [ebp - 0x444], 0
mov eax, dword [esi]
push ecx
push esi
call dword [eax + 0xc]
test eax, eax
js 0x4a4287
mov ecx, dword [ebp - 0x47c]
mov edi, ecx
mov edx, dword [ebp - 0x444]
lea eax, [edi + edx]
cmp edi, eax
jae 0x4a4261
mov eax, dword [edi]
mov ebx, dword [edi + 4]
add edi, 8
mov dword [ebp - 0x484], eax
test ebx, ebx
je 0x4a424e
mov esi, eax
mov eax, dword [edi]
add edi, 4
push eax
push esi
push dword [ebp - 0x460]
call fcn.0050436a
sub ebx, 1
jne 0x4a422b
mov ecx, dword [ebp - 0x47c]
mov edx, dword [ebp - 0x444]
lea eax, [edx + ecx]
cmp edi, eax
jb 0x4a4217
mov esi, dword [ebp - 0x448]
mov ebx, dword [ebp - 0x480]
mov byte [ebp - 4], 4
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov esi, dword [ebp - 0x46c]
mov byte [ebp - 4], 0
or dword [ebx + 4], 0x800
mov edi, dword [ebp - 0x44c]
jmp 0x443ffa
mov ecx, eax
call fcn.004fd165
push 0x4d4
push ebx
call fcn.004dedcb
mov eax, dword [ebx + 0x14]
mov edx, 0x429dbc
mov ecx, dword [eax + 8]
call fcn.00452cef
mov ecx, eax
test ecx, ecx
je 0x4a427c
cmp dword [ecx + 0x18], 1
jbe 0x4a427c
cmp byte [0x5a2ef9], 0
je 0x4a4303
mov eax, dword [ecx + 0x14]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 8]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 8]
mov di, word [eax]
cmp di, word [edx]
jne 0x4a42f6
test di, di
je 0x4a42f2
mov di, word [eax + 2]
cmp di, word [edx + 2]
jne 0x4a42f6
add eax, 4
add edx, 4
test di, di
jne 0x4a42d0
xor eax, eax
jmp 0x4a42fb
sbb eax, eax
or eax, 1
test eax, eax
je 0x4a427c
mov esi, dword [ecx + 0x14]
lea eax, [ebp - 0x428]
mov ecx, dword [ecx + 0x10]
push eax
call fcn.004de9f1
push eax
push 0x4d9
push esi
call fcn.004dedcb
mov eax, dword [ebp - 0x460]
mov ecx, 0x800
or word [eax + 0xcc], cx
mov ecx, ebx
call fcn.00439acf
mov ecx, 0x800
or word [eax + 0xcc], cx
inc dword [0x5a511c]
jmp 0x444007
cmp dword [0x5a303c], 5
jne 0x44403b
jmp 0x44402e
push 0x403564
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne 0x4a4398
mov eax, dword [ebp - 0x45c]
mov ecx, dword [esi + 0x9b4]
add eax, 8
push eax
push dword [ebp - 0x470]
push ebx
push dword [ebp - 0x460]
call fcn.0052fa8b
mov edx, 0xa64e
jmp 0x44403b
test byte [esi + 0x14c], 0x40
je 0x4a43bb
test dword [esi + 0xaf0], 0x10000
je 0x444051
push 0x401c54
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
mov edx, 0xa64e
test eax, eax
jne 0x444051
mov eax, dword [ebp - 0x460]
or dword [eax + 0xd4], 4
jmp 0x444051
push 0x412508
push edi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne 0x444b75
mov eax, dword [ebp - 0x45c]
cmp dword [eax + 0x50], 0
je 0x4a4417
push 0x562
push ebx
call fcn.004dedcb
mov dword [eax + 0x50], ebx
jmp 0x444b75
cmp dword [ecx + 0x4c], 0
je 0x4a4430
push 0x56c
push ebx
call fcn.004dedcb
mov dword [ecx + 0x4c], ebx
jmp 0x444065
call fcn.004fd4dc
mov eax, dword [ebp - 0x450]
jmp 0x44510d
mov byte [eax + ecx], 0x20
mov edx, dword [ebp - 0x448]
jmp 0x44514c
cmp byte [eax + 1], 0xbb
jne 0x445167
cmp byte [eax + 2], 0xbf
jne 0x445167
lea ecx, [eax + 3]
call fcn.0044efd9
jmp 0x44516e
push dword [esi + 0x8a4]
mov edx, dword [ebp - 0x45c]
push dword [ebp - 0x444]
mov ecx, dword [ebx + 0x10]
lea edx, [edx + 0x10]
call fcn.0045b900
jmp 0x4451a5
mov ecx, dword [ebp - 0x45c]
lea eax, [ebp - 0x478]
push eax
lea ecx, [ecx + 0x1c]
call fcn.0043a998
mov ecx, dword [ebx + 0x10]
jmp case.0x4454d1.3
cmp dword [esi + 0x19c], 0
jne 0x4441ce
or dword [ebx + 4], 0x800
mov byte [ebp - 4], 0xe
test edi, edi
je 0x4a44d9
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov dword [ebp - 4], 0xf
jmp 0x44478d
cmp dword [esi + 0x19c], 0
je 0x4a4505
mov eax, dword [ebp - 0x45c]
mov ecx, ebx
mov edx, dword [ebp - 0x470]
add eax, 0x34
push eax
call fcn.004ffbfa
or dword [ebx + 4], 0x800
mov byte [ebp - 4], 0x10
test edi, edi
je 0x4a451a
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov dword [ebp - 4], 0x11
jmp 0x44478d
mov eax, dword [ebp - 0x45c]
mov dword [eax + 0x58], ebx
or dword [ebx + 4], 0x800
mov byte [ebp - 4], 0x12
test edi, edi
je 0x4a4544
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov dword [ebp - 4], 0x13
jmp 0x44478d
cmp dword [0x5a303c], 5
jne 0x444203
jmp 0x4441db
cmp dword [0x5a303c], 5
je 0x4a4577
test dword [esi + 0x19c], 0x800
je 0x4a45c1
mov esi, dword [ebp - 0x460]
lea ecx, [ebp - 0x439]
mov eax, dword [esi]
sub eax, 0x3c
push eax
push dword [esi + 0x9c]
call fcn.00459999
mov edx, dword [ebp - 0x470]
mov ecx, ebx
push esi
mov byte [ebp - 4], 0x14
call fcn.00542ff9
mov byte [0x5a3f50], 0
mov dword [0x5a18b8], 0xffffffff
mov dword [0x5a18bc], 0xffffffff
or dword [ebx + 4], 0x800
mov byte [ebp - 4], 0x15
test edi, edi
je 0x4a45d6
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov dword [ebp - 4], 0x16
jmp 0x44478d
mov eax, dword [ebx + 0x10]
or dword [eax + 0xd4], 0x10
test byte [esi + 0x14c], 0x10
jne 0x44421d
mov edx, dword [ebx + 8]
mov ecx, dword [ebp - 0x470]
call fcn.00538ce2
jmp 0x44421d
cmp byte [0x5a2ee5], 0
je 0x44423a
movzx eax, word [esi + 0x40]
mov ecx, 0x14c
cmp ax, cx
jne 0x44423a
jmp 0x44422d
mov eax, dword [ebp - 0x448]
jmp 0x444e4a
push 0x409470
push 0x4ff
push ebx
call fcn.004dedcb
test dword [esi + 0xaf0], 0x40000
jne 0x444287
jmp 0x44427e
push 0x48f
push ebx
call fcn.004dedcb
mov edx, 0x8664
cmp cx, dx
ja 0x4a46b2
je 0x4a46a3
mov eax, 0x1c4
cmp cx, ax
je 0x4a4694
mov eax, 0x3a64
cmp cx, ax
je 0x4447f7
jmp 0x444299
mov dword [ebp - 0x444], 5
jmp 0x444801
mov dword [ebp - 0x444], 0xd
jmp 0x444801
mov edx, 0xa64e
cmp cx, dx
je 0x4447f7
mov ecx, 0xaa64
cmp ax, cx
jne 0x444299
jmp 0x4447f7
xor ecx, ecx
xor edx, edx
jmp 0x44486b
mov dword [ebp - 0x448], 0
mov eax, dword [ebp - 0x45c]
lea esi, [ebp - 0x448]
mov byte [ebp - 4], 0x19
push esi
push dword [edx]
mov ecx, dword [eax + 8]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x10]
test eax, eax
js 0x4a47b0
mov eax, dword [ebp - 0x448]
lea edx, [ebp - 0x439]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
test eax, eax
js 0x4a47b0
cmp byte [ebp - 0x439], 0x6b
jne 0x4a47b7
mov edx, dword [ebp - 0x448]
mov ecx, ebx
call fcn.004cc452
mov edx, dword [0x5a30c4]
mov esi, eax
mov ecx, dword [ebp - 0x448]
call fcn.0052cd58
cmp dword [ebp - 0x464], 0
je 0x4a4778
mov ecx, dword [ebp - 0x464]
mov edx, eax
push 0
push 0
push 0
push 0xffff
push 1
push esi
call fcn.0053ee09
jmp 0x4a4781
mov edx, esi
mov ecx, eax
call fcn.0053ef81
mov byte [ebp - 4], 0x1a
mov eax, dword [ebp - 0x448]
test eax, eax
je 0x4a4795
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 5
mov edx, dword [ebp - 0x450]
mov ecx, dword [ebp - 0x440]
mov esi, dword [ebp - 0x444]
jmp 0x4448ac
mov ecx, eax
call fcn.004fd165
push 0x4d3
push ebx
call fcn.004dedcb
test byte [esi + 0x14c], 0x40
setne cl
test dword [esi + 0xaf0], 0x10000
sete al
test al, cl
jne 0x4442af
push 0x402df4
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne 0x4442af
mov eax, dword [ebp - 0x45c]
cmp dword [eax + 0x54], 0
je 0x4a4814
push 0x563
push ebx
call fcn.004dedcb
mov dword [eax + 0x54], ebx
jmp 0x4442af
sub esp, 8
mov ecx, esi
call fcn.00534ec0
test byte [esi + 0x14c], 0x40
setne cl
test dword [esi + 0xaf0], 0x10000
sete al
test al, cl
jne 0x4442d9
push 0x429dc8
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
je 0x4a4879
push 0x429dd4
push dword [ebp - 0x44c]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strcmp]
add esp, 8
test eax, eax
jne 0x4442d9
lea eax, [ebp - 0x478]
push eax
call fcn.00533c68
mov ebx, dword [ebp - 0x478]
mov dword [ebp - 0x480], ebx
jmp 0x4442d9
mov eax, dword [ebp - 0x460]
test byte [eax + 0xd4], 2
jne 0x4454e7
test byte [eax + 0xd4], 1
je 0x4454a9
mov dword [0x5a5038], ebx
jmp 0x4454a9
call fcn.0051987f
jmp 0x44433c
test dword [esi + 0xaf0], 0x40000
jne 0x44438f
jmp 0x444382
lea edx, [ebx + 0x50]
jmp 0x44440b
call fcn.004575aa
test al, al
mov eax, dword [ebp - 0x478]
jne 0x445216
call fcn.004fd4dc
jmp 0x44522d
cmp byte [eax + edx + 1], 0x45
mov dword [ebp - 0x440], 1
je 0x4445d3
jmp 0x4445c9
add ecx, 0x50
jmp 0x444a76
call fcn.004fd4dc
jmp 0x44532a
mov edx, 0xc8
mov ecx, 0x400000
call fcn.004620b1
mov edx, eax
mov eax, dword [ebp - 0x440]
test eax, eax
je 0x4a494e
mov dword [edx], eax
mov dword [0x5a3f44], edx
jmp 0x444ace
mov eax, dword [ebx + 0x48]
mov dword [ebp - 0x458], eax
test eax, eax
je 0x4446d3
mov edx, 0xc
mov ecx, 0x5a4d8c
call fcn.0044a45f
mov ecx, dword [ebp - 0x458]
mov dword [eax + 4], ecx
mov ecx, dword [0x5a3f48]
mov dword [eax], ebx
mov dword [eax + 8], ecx
mov dword [0x5a3f48], eax
jmp 0x4446d3
test byte [eax + 0xcc], 0x40
jne 0x444edb
mov dword [ebp - 0x440], 0
mov byte [ebp - 4], 0x1f
lea edx, [ebp - 0x440]
mov ecx, dword [eax + 0xe0]
push edx
push 0x401b34
push ecx
mov eax, dword [ecx]
call dword [eax]
test eax, eax
js 0x4a4a2c
mov eax, dword [ebp - 0x440]
lea edx, [ebp - 0x458]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
js 0x4a4a15
cmp dword [ebp - 0x458], 0
setne byte [ebp - 0x439]
mov byte [ebp - 4], 0x20
mov eax, dword [ebp - 0x440]
test eax, eax
je 0x4a4a06
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 5
mov al, byte [ebp - 0x439]
jmp 0x444ed3
mov ecx, eax
call fcn.004fd165
push 0x470
push dword [ebp - 0x474]
call fcn.0052bb8a
mov ecx, eax
call fcn.004fd165
push 0x4d1
push dword [ebp - 0x474]
call fcn.0052bb8a
mov eax, dword [0x5a4b74]
mov esi, dword [eax + ecx*4]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
add esp, 4
push eax
mov eax, dword [ebp - 0x458]
push esi
push dword [eax]
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncmp]
add esp, 0xc
test eax, eax
je 0x4a4a86
mov ecx, dword [ebp - 0x450]
inc ecx
mov dword [ebp - 0x450], ecx
cmp ecx, dword [0x5a4b78]
jb 0x4a4a43
jmp 0x444f4f
xor eax, eax
jmp 0x444f73
test byte [esi + 0xcc], 0x40
jne 0x444fac
mov dword [ebp - 0x440], 0
mov byte [ebp - 4], 0x23
lea edx, [ebp - 0x440]
mov ecx, dword [esi + 0xe0]
push edx
push 0x401b34
push ecx
mov eax, dword [ecx]
call dword [eax]
test eax, eax
js 0x4a4b1d
mov eax, dword [ebp - 0x440]
lea edx, [ebp - 0x458]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x2c]
test eax, eax
js 0x4a4b0b
cmp dword [ebp - 0x458], 0
setne byte [ebp - 0x439]
mov byte [ebp - 4], 0x24
mov eax, dword [ebp - 0x440]
test eax, eax
je 0x4a4afc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov byte [ebp - 4], 5
mov al, byte [ebp - 0x439]
jmp 0x444fa8
mov ecx, eax
call fcn.004fd165
push 0x470
push esi
call fcn.0052bb8a
mov ecx, eax
call fcn.004fd165
push 0x4d1
push esi
call fcn.0052bb8a
mov eax, dword [ebx + 0x14]
cmp eax, dword [0x5a30b8]
je 0x4a4b46
cmp eax, dword [0x5a30b4]
jne 0x444fc1
mov ecx, ebx
call fcn.00439acf
test dword [eax + 0xd4], 0x1000
jne 0x4a4b6a
mov ecx, ebx
call fcn.00439acf
push 0
push esi
mov ecx, eax
call fcn.0052bc96
mov dword [ebp - 0x450], 0
mov byte [ebp - 4], 0x25
mov ecx, ebx
mov eax, dword [ebx + 0x10]
sub ecx, dword [eax + 0xa0]
mov eax, 0x66666667
imul ecx
lea ecx, [ebp - 0x450]
sar edx, 5
mov eax, edx
inc edx
shr eax, 0x1f
push ecx
mov ecx, dword [ebp - 0x460]
add eax, edx
push eax
call fcn.004396db
test al, al
jne 0x4a4bb7
push 0x4d4
push ebx
call fcn.004dedcb
mov esi, dword [ebp - 0x450]
lea ecx, [ebp - 0x458]
push ecx
lea ecx, [ebp - 0x440]
push ecx
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
test eax, eax
js 0x4a4287
mov eax, dword [ebp - 0x440]
mov ecx, dword [ebp - 0x480]
mov ebx, dword [ebp - 0x458]
mov dword [ebp - 0x454], eax
call fcn.00439acf
push ebx
push dword [ebp - 0x454]
push dword [ebp - 0x480]
push eax
call dword [0x5a1b64]
mov byte [ebp - 4], 0x26
mov eax, dword [esi]
push esi
call dword [eax + 8]
jmp 0x444fc1
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x444fcd
mov byte [ebp - 4], 0x1d
test edi, edi
je 0x4a4c32
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov dword [ebp - 4], 0x1e
jmp 0x44478d