Function at 0x44b640
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x50
mov edx, dword [eax + 0x80]
push ebx
mov ebx, dword [eax + 4]
push ebp
push esi
mov esi, ecx
mov ecx, dword [eax + 0x20]
mov ebp, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0x8c]
mov dword [esp + 0x10], edx
xor edx, edx
test ecx, ecx
sete dl
push edi
mov edi, 1
mov dword [esp + 0x18], ebx
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x1c], esi
add edx, ecx
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x4c], edx
mov edx, esi
shl edi, cl
mov ecx, dword [eax + 0x10]
sub edx, ebx
add edx, dword [esp + 0x6c]
mov dword [esp + 0x34], ecx
mov ecx, edx
sub ecx, dword [esp + 0x34]
cmp ecx, edi
jbe 0x44b6a6
sub edx, edi
jmp 0x44b6aa
mov edx, dword [esp + 0x34]
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x44], ecx
test ecx, ecx
je 0x44b6b9
mov edx, dword [esp + 0x34]
lea ecx, [edx + ebp]
mov dword [esp + 0x54], ecx
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x30], edx
mov dword [esp + 0x38], ecx
cmp ecx, edx
jae 0x44b6d7
mov ecx, edx
mov dword [esp + 0x28], edx
jmp 0x44b6db
mov dword [esp + 0x28], ecx
lea edi, [ecx + ebx]
mov dword [esp + 0x34], edi
lea edi, [ecx + ebp]
mov dword [esp + 0x40], edi
mov edi, dword [esp + 0x6c]
add edi, esi
lea ebp, [edi - 8]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esp + 0x68]
mov ebp, dword [ebp]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x68]
mov ebp, dword [ebp + 4]
mov dword [esp + 0x10], edi
mov dword [esp + 0x2c], ebp
cmp ecx, edx
jne 0x44bda7
mov ebp, dword [eax + 0x8c]
mov edx, dword [eax + 0x80]
xor ecx, ecx
test ebp, ebp
sete cl
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], esi
lea edx, [ecx + ebp + 1]
mov ecx, dword [eax + 0x78]
mov eax, dword [esp + 0x38]
mov dword [esp + 0x5c], edx
mov edx, esi
sub edx, ebx
add edx, dword [esp + 0x6c]
mov ebp, 1
shl ebp, cl
mov ecx, edx
sub ecx, eax
cmp ecx, ebp
jbe 0x44b75d
sub edx, ebp
jmp 0x44b75f
mov edx, eax
cmp dword [esp + 0x44], 0
je 0x44b76c
mov dword [esp + 0x40], eax
jmp 0x44b772
mov eax, edx
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
add eax, ebx
add edi, 0xfffffff8
mov dword [esp + 0x20], edx
xor edx, edx
cmp esi, eax
sete dl
mov dword [esp + 0x54], eax
mov dword [esp + 0x6c], edi
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], 0
add esi, edx
mov edx, dword [esp + 0x38]
mov eax, esi
sub eax, ebx
mov ebx, eax
sub ebx, edx
lea edi, [esi + 1]
mov dword [esp + 0x34], edi
cmp ebx, ebp
jbe 0x44b7bd
mov ebx, eax
sub ebx, ebp
jmp 0x44b7bf
mov ebx, edx
xor ebp, ebp
cmp dword [esp + 0x44], ebp
jne 0x44b7c9
mov edx, ebx
sub eax, edx
cmp ecx, eax
jbe 0x44b7d7
mov dword [esp + 0x30], ecx
mov dword [esp + 0x28], ebp
mov ecx, dword [esp + 0x20]
cmp ecx, eax
jbe 0x44b7e7
mov dword [esp + 0x30], ecx
mov dword [esp + 0x20], ebp
cmp edi, dword [esp + 0x6c]
jae 0x44bd76
mov eax, dword [esp + 0x70]
add eax, 0xfffffffb
mov dword [esp + 0x6c], eax
lea esp, [esp]
mov eax, dword [esp + 0x6c]
lea ecx, [esi + 2]
mov dword [esp + 0x44], ecx
cmp eax, 3
ja case.default.0x44b810
jmp dword [eax*4 + 0x44c4d0]
mov ebx, dword [esp + 0x14]
push ebx
mov eax, esi
call fcn.0041b330
add esp, 4
mov ebp, eax
jmp 0x44b87c
mov ebx, dword [esp + 0x14]
push ebx
mov eax, esi
call fcn.00448090
add esp, 4
mov ebp, eax
jmp 0x44b87c
mov ebx, dword [esp + 0x14]
push ebx
mov eax, esi
call fcn.0043ddb0
add esp, 4
mov ebp, eax
jmp 0x44b87c
mov ebx, dword [esp + 0x14]
push ebx
mov eax, esi
call fcn.00437dc0
add esp, 4
mov ebp, eax
mov dword [esp + 0x2c], eax
jmp 0x44b880
mov ebp, dword [esi]
mov ebx, dword [esp + 0x14]
imul ebp, ebp, 0x9e3779b1
mov ecx, 0x20
sub ecx, ebx
shr ebp, cl
mov dword [esp + 0x2c], ebp
mov eax, dword [esp + 0x6c]
mov edx, dword [esi]
mov dword [esp + 0x3c], edx
cmp eax, 3
ja case.default.0x44b88f
jmp dword [eax*4 + 0x44c4e0]
push ebx
mov eax, edi
call fcn.0041b330
add esp, 4
jmp 0x44b8db
push ebx
mov eax, edi
call fcn.00448090
add esp, 4
jmp 0x44b8db
push ebx
mov eax, edi
call fcn.0043ddb0
add esp, 4
jmp 0x44b8db
push ebx
mov eax, edi
call fcn.00437dc0
add esp, 4
jmp 0x44b8db
mov eax, dword [edi]
imul eax, eax, 0x9e3779b1
mov ecx, 0x20
sub ecx, ebx
shr eax, cl
mov ecx, dword [edi]
mov edx, dword [esp + 0x24]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x4c], ecx
mov ecx, dword [edx + ebp*4]
mov ebp, dword [edx + eax*4]
mov edx, dword [esp + 0x44]
sub edx, dword [esp + 0x20]
mov dword [esp + 0x38], ebp
add ebp, ebx
mov dword [esp + 0x50], ebp
mov ebp, dword [esp + 0x2c]
mov edi, esi
sub edi, ebx
mov dword [esp + 0x48], ecx
add ecx, ebx
mov ebx, dword [esp + 0x24]
mov dword [ebx + ebp*4], edi
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x34]
mov ebp, edi
sub ebp, dword [esp + 0x18]
mov dword [ebx + eax*4], ebp
mov eax, dword [edx]
mov ebp, dword [esp + 0x44]
xor ebx, ebx
cmp eax, dword [ebp]
sete bl
xor eax, eax
cmp eax, dword [esp + 0x20]
sbb eax, eax
neg eax
test eax, ebx
je 0x44b96c
mov cl, byte [ebp - 1]
xor eax, eax
cmp cl, byte [edx - 1]
mov dword [esp + 0x44], 0
sete al
mov edi, eax
sub ebp, edi
sub edx, edi
mov esi, ebp
mov ebp, dword [esp + 0x1c]
mov ecx, edx
add edi, 4
jmp 0x44b9ec
mov eax, dword [esp + 0x40]
cmp dword [esp + 0x48], eax
jbe 0x44b97e
mov edx, dword [esp + 0x3c]
cmp dword [ecx], edx
je 0x44b99a
cmp dword [esp + 0x38], eax
jbe 0x44bd52
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x50]
cmp dword [ecx], eax
jne 0x44bd52
mov esi, edi
mov edx, dword [esp + 0x20]
mov ebp, dword [esp + 0x1c]
mov eax, esi
sub eax, ecx
mov dword [esp + 0x20], eax
add eax, 2
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
cmp eax, ecx
mov dword [esp + 0x28], edx
sbb edx, edx
neg edx
cmp ebp, esi
sbb ebx, ebx
neg ebx
mov edi, 4
test ebx, edx
je 0x44b9ec
mov edi, edi
movzx edx, byte [esi - 1]
cmp dl, byte [ecx - 1]
jne 0x44b9ec
dec ecx
dec esi
inc edi
cmp eax, ecx
sbb edx, edx
neg edx
cmp ebp, esi
sbb ebx, ebx
neg ebx
test ebx, edx
jne 0x44b9d0
mov ebx, dword [esp + 0x10]
lea edx, [edi + ecx]
lea ecx, [edi + esi]
call fcn.0043dd00
add edi, eax
mov eax, esi
sub eax, ebp
mov dword [esp + 0x2c], eax
add eax, ebp
mov ebp, dword [esp + 0x64]
lea ecx, [ebx - 0x20]
cmp eax, ecx
ja 0x44bab7
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x2c]
cmp edx, 0x10
jbe 0x44bace
mov eax, dword [ebp + 0xc]
add eax, 0x10
add edx, 0xfffffff0
add ecx, 0x10
cmp edx, 0x10
lea ebx, [eax + edx]
mov dword [esp + 0x50], ebx
mov ebx, dword [ecx]
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [ecx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [eax + 0xc], ebx
jle 0x44baca
mov edx, dword [esp + 0x50]
add eax, 0x10
add ecx, 0x10
mov ebx, dword [ecx]
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [ecx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [eax + 0xc], ebx
mov ebx, dword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [ecx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [eax + 0xc], ebx
add eax, 0x10
add ecx, 0x10
cmp eax, edx
jb 0x44ba78
jmp 0x44baca
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [ebp + 0xc]
add ebx, 0xffffffe0
call fcn.00437d30
add esp, 4
mov edx, dword [esp + 0x2c]
add dword [ebp + 0xc], edx
cmp edx, 0xffff
jbe 0x44baec
mov eax, dword [ebp + 4]
sub eax, dword [ebp]
mov dword [ebp + 0x24], 1
sar eax, 3
mov dword [ebp + 0x28], eax
mov ecx, dword [ebp + 4]
mov word [ecx + 4], dx
mov edx, dword [esp + 0x44]
mov eax, dword [ebp + 4]
inc edx
mov dword [eax], edx
lea eax, [edi - 3]
cmp eax, 0xffff
jbe 0x44bb1a
mov ecx, dword [ebp + 4]
sub ecx, dword [ebp]
mov dword [ebp + 0x24], 2
sar ecx, 3
mov dword [ebp + 0x28], ecx
mov edx, dword [ebp + 4]
mov word [edx + 6], ax
mov eax, dword [esp + 0x10]
add dword [ebp + 4], 8
add esi, edi
add eax, 0xfffffff8
mov dword [esp + 0x1c], esi
cmp esi, eax
ja 0x44bd4d
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x58]
mov eax, dword [esp + 0x18]
lea eax, [ebx + eax + 2]
cmp ecx, 3
ja case.default.0x44bb4f
jmp dword [ecx*4 + 0x44c4f0]
mov edi, dword [esp + 0x14]
push edi
call fcn.0041b330
add esp, 4
jmp 0x44bba7
mov edi, dword [esp + 0x14]
push edi
call fcn.00448090
add esp, 4
jmp 0x44bba7
mov edi, dword [esp + 0x14]
push edi
call fcn.0043ddb0
add esp, 4
jmp 0x44bba7
mov edi, dword [esp + 0x14]
push edi
call fcn.00437dc0
add esp, 4
jmp 0x44bba7
mov eax, dword [eax]
mov edi, dword [esp + 0x14]
imul eax, eax, 0x9e3779b1
mov ecx, 0x20
sub ecx, edi
shr eax, cl
lea ecx, [ebx + 2]
mov ebx, dword [esp + 0x24]
mov dword [ebx + eax*4], ecx
mov ecx, dword [esp + 0x6c]
lea eax, [esi - 2]
cmp ecx, 3
ja case.default.0x44bbbd
jmp dword [ecx*4 + 0x44c500]
push edi
call fcn.0041b330
add esp, 4
jmp 0x44bc01
push edi
call fcn.00448090
add esp, 4
jmp 0x44bc01
push edi
call fcn.0043ddb0
add esp, 4
jmp 0x44bc01
push edi
call fcn.00437dc0
add esp, 4
jmp 0x44bc01
mov eax, dword [eax]
imul eax, eax, 0x9e3779b1
mov ecx, 0x20
sub ecx, edi
shr eax, cl
mov edx, esi
sub edx, dword [esp + 0x18]
sub edx, 2
cmp dword [esp + 0x28], 0
mov dword [ebx + eax*4], edx
jbe 0x44bd4d
mov ecx, dword [esi]
mov eax, esi
sub eax, dword [esp + 0x28]
cmp ecx, dword [eax]
jne 0x44bd4d
mov ebx, dword [esp + 0x10]
lea edx, [eax + 4]
lea ecx, [esi + 4]
call fcn.0043dd00
mov edx, dword [esp + 0x20]
mov edi, eax
mov eax, dword [esp + 0x28]
add edi, 4
cmp dword [esp + 0x6c], 3
mov dword [esp + 0x28], edx
mov dword [esp + 0x20], eax
ja case.default.0x44bc57
mov eax, dword [esp + 0x6c]
jmp dword [eax*4 + 0x44c510]
mov ecx, dword [esp + 0x14]
push ecx
mov eax, esi
call fcn.0041b330
add esp, 4
jmp 0x44bcb5
mov edx, dword [esp + 0x14]
push edx
mov eax, esi
call fcn.00448090
add esp, 4
jmp 0x44bcb5
mov eax, dword [esp + 0x14]
push eax
mov eax, esi
call fcn.0043ddb0
add esp, 4
jmp 0x44bcb5
mov ecx, dword [esp + 0x14]
push ecx
mov eax, esi
call fcn.00437dc0
add esp, 4
jmp 0x44bcb5
mov eax, dword [esi]
imul eax, eax, 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [esp + 0x14]
shr eax, cl
mov ecx, dword [esp + 0x24]
mov edx, esi
sub edx, dword [esp + 0x18]
add esi, edi
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0x1c]
mov ecx, ebx
add ecx, 0xffffffe0
add edi, 0xfffffffd
cmp eax, ecx
ja 0x44bcef
mov edx, dword [eax]
mov ecx, dword [ebp + 0xc]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov eax, dword [eax + 0xc]
mov dword [ecx + 0xc], eax
jmp 0x44bd02
mov edx, dword [esp + 0x1c]
mov eax, dword [ebp + 0xc]
push edx
add ebx, 0xffffffe0
call fcn.00437d30
add esp, 4
mov ecx, dword [ebp + 4]
xor edx, edx
mov word [ecx + 4], dx
mov eax, dword [ebp + 4]
mov dword [eax], 1
cmp edi, 0xffff
jbe 0x44bd2f
mov ecx, dword [ebp + 4]
sub ecx, dword [ebp]
mov dword [ebp + 0x24], 2
sar ecx, 3
mov dword [ebp + 0x28], ecx
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x10]
mov word [edx + 6], di
add dword [ebp + 4], 8
add eax, 0xfffffff8
mov dword [esp + 0x1c], esi
cmp esi, eax
jbe 0x44bc18
lea edi, [esi + 1]
jmp 0x44bd63
mov eax, esi
sub eax, dword [esp + 0x1c]
shr eax, 7
add eax, dword [esp + 0x5c]
add esi, eax
add edi, eax
mov eax, dword [esp + 0x10]
add eax, 0xfffffff8
mov dword [esp + 0x34], edi
cmp edi, eax
jb 0x44b800
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x44bd82
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x68]
mov dword [ecx], eax
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x44bd94
mov eax, dword [esp + 0x30]
pop edi
pop esi
mov dword [ecx + 4], eax
mov eax, dword [esp + 8]
sub eax, dword [esp + 0x14]
pop ebp
pop ebx
add esp, 0x50
ret
cmp esi, dword [esp + 0x5c]
jae 0x44c4ad
mov eax, dword [esp + 0x70]
add eax, 0xfffffffb
mov dword [esp + 0x6c], eax
lea esp, [esp]
mov eax, dword [esp + 0x6c]
cmp eax, 3
ja case.default.0x44bdc9
jmp dword [eax*4 + 0x44c520]
mov ecx, dword [esp + 0x14]
push ecx
mov eax, esi
call fcn.0041b330
add esp, 4
jmp 0x44be27
mov edx, dword [esp + 0x14]
push edx
mov eax, esi
call fcn.00448090
add esp, 4
jmp 0x44be27
mov eax, dword [esp + 0x14]
push eax
mov eax, esi
call fcn.0043ddb0
add esp, 4
jmp 0x44be27
mov ecx, dword [esp + 0x14]
push ecx
mov eax, esi
call fcn.00437dc0
add esp, 4
jmp 0x44be27
mov eax, dword [esi]
imul eax, eax, 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [esp + 0x14]
shr eax, cl
mov edx, dword [esp + 0x24]
mov ebx, dword [edx + eax*4]
mov ebp, dword [esp + 0x28]
mov edi, dword [esp + 0x3c]
cmp ebx, ebp
jb 0x44be3e
mov edi, dword [esp + 0x18]
mov edx, esi
sub edx, dword [esp + 0x18]
add edi, ebx
mov ecx, edx
sub ecx, dword [esp + 0x20]
mov dword [esp + 0x50], edx
inc ecx
cmp ecx, ebp
mov ebp, dword [esp + 0x3c]
jb 0x44be5d
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x44], ebp
mov ebp, dword [esp + 0x24]
mov dword [ebp + eax*4], edx
mov eax, dword [esp + 0x28]
sub eax, ecx
dec eax
cmp eax, 3
sbb eax, eax
inc eax
cmp dword [esp + 0x30], ecx
sbb ebp, ebp
neg ebp
test ebp, eax
je 0x44bff9
mov eax, dword [esp + 0x44]
mov ebp, dword [eax + ecx]
cmp ebp, dword [esi + 1]
jne 0x44bff9
mov edx, dword [esp + 0x40]
cmp ecx, dword [esp + 0x28]
jb 0x44bea4
mov edx, dword [esp + 0x10]
lea edi, [eax + ecx + 4]
lea ebp, [esi + 5]
mov eax, ebp
sub eax, edi
mov ecx, edx
add eax, ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], edx
cmp eax, ecx
jb 0x44bec1
mov eax, ecx
mov ebx, eax
mov edx, edi
mov ecx, ebp
call fcn.0043dd00
add edi, eax
mov dword [esp + 0x44], eax
cmp edi, dword [esp + 0x38]
je 0x44beda
jmp 0x44bef0
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
lea ecx, [edi + ebp]
call fcn.0043dd00
add eax, edi
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x64]
add eax, 4
inc esi
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
mov edi, esi
sub edi, eax
add ebx, 0xffffffe0
add eax, edi
cmp eax, ebx
ja 0x44bfb2
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
cmp edi, 0x10
jbe 0x44bfc2
mov eax, dword [ebp + 0xc]
add eax, 0x10
lea edx, [edi - 0x10]
add ecx, 0x10
cmp edx, 0x10
lea ebx, [eax + edx]
mov dword [esp + 0x5c], ebx
mov ebx, dword [ecx]
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [ecx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [eax + 0xc], ebx
jle 0x44bfc2
mov edx, dword [esp + 0x5c]
add eax, 0x10
add ecx, 0x10
mov ebx, dword [ecx]
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [ecx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [eax + 0xc], ebx
mov ebx, dword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [ecx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [eax + 0xc], ebx
add eax, 0x10
add ecx, 0x10
cmp eax, edx
jb 0x44bf73
jmp 0x44bfc2
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [ebp + 0xc]
call fcn.00437d30
add esp, 4
add dword [ebp + 0xc], edi
cmp edi, 0xffff
jbe 0x44bfe0
mov eax, dword [ebp + 4]
sub eax, dword [ebp]
mov dword [ebp + 0x24], 1
sar eax, 3
mov dword [ebp + 0x28], eax
mov ecx, dword [ebp + 4]
mov word [ecx + 4], di
mov edx, dword [ebp + 4]
mov ecx, dword [esp + 0x58]
mov dword [edx], 1
jmp 0x44c1cb
cmp ebx, dword [esp + 0x30]
jb 0x44c48f
mov eax, dword [edi]
cmp eax, dword [esi]
jne 0x44c48f
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
cmp ebx, eax
jb 0x44c01d
mov ecx, dword [esp + 0x10]
cmp ebx, eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x44], ecx
jb 0x44c02d
mov eax, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
lea ebp, [edi + 4]
lea eax, [esi + 4]
sub eax, ebp
add eax, ecx
mov ecx, dword [esp + 0x10]
sub edx, ebx
mov dword [esp + 0x48], edx
cmp eax, ecx
jb 0x44c04b
mov eax, ecx
mov ebx, eax
mov edx, ebp
lea ecx, [esi + 4]
call fcn.0043dd00
mov dword [esp + 0x38], eax
add eax, ebp
cmp eax, dword [esp + 0x44]
je 0x44c069
mov eax, dword [esp + 0x38]
jmp 0x44c080
mov ebp, dword [esp + 0x38]
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
lea ecx, [esi + ebp + 4]
call fcn.0043dd00
add eax, ebp
mov ebp, dword [esp + 0x2c]
cmp ebp, edi
sbb edx, edx
lea ecx, [eax + 4]
mov eax, dword [esp + 0x1c]
neg edx
cmp eax, esi
sbb ebx, ebx
neg ebx
mov dword [esp + 0x38], ecx
test ebx, edx
je 0x44c0c0
nop
movzx edx, byte [esi - 1]
cmp dl, byte [edi - 1]
jne 0x44c0bc
dec edi
dec esi
inc ecx
cmp ebp, edi
sbb edx, edx
neg edx
cmp eax, esi
sbb ebx, ebx
neg ebx
test ebx, edx
jne 0x44c0a0
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x48]
mov ebp, dword [esp + 0x64]
mov edi, esi
sub edi, eax
add ebx, 0xffffffe0
add eax, edi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], edx
cmp eax, ebx
ja 0x44c186
mov ecx, dword [esp + 0x1c]
mov edx, dword [ecx]
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
cmp edi, 0x10
jbe 0x44c196
mov eax, dword [ebp + 0xc]
add eax, 0x10
lea edx, [edi - 0x10]
add ecx, 0x10
cmp edx, 0x10
lea ebx, [eax + edx]
mov dword [esp + 0x5c], ebx
mov ebx, dword [ecx]
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [ecx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [eax + 0xc], ebx
jle 0x44c196
mov edx, dword [esp + 0x5c]
add eax, 0x10
add ecx, 0x10
mov ebx, dword [ecx]
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [ecx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [eax + 0xc], ebx
mov ebx, dword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
mov dword [eax], ebx
mov ebx, dword [ecx + 4]
mov dword [eax + 4], ebx
mov ebx, dword [ecx + 8]
mov dword [eax + 8], ebx
mov ebx, dword [ecx + 0xc]
mov dword [eax + 0xc], ebx
add eax, 0x10
add ecx, 0x10
cmp eax, edx
jb 0x44c147
jmp 0x44c196
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [ebp + 0xc]
call fcn.00437d30
add esp, 4
add dword [ebp + 0xc], edi
cmp edi, 0xffff
jbe 0x44c1b4
mov eax, dword [ebp + 4]
sub eax, dword [ebp]
mov dword [ebp + 0x24], 1
sar eax, 3
mov dword [ebp + 0x28], eax
mov ecx, dword [ebp + 4]
mov edx, dword [esp + 0x48]
mov word [ecx + 4], di
mov eax, dword [ebp + 4]
mov ecx, dword [esp + 0x38]
add edx, 3
mov dword [eax], edx
lea eax, [ecx - 3]
cmp eax, 0xffff
jbe 0x44c1e8
mov edx, dword [ebp + 4]
sub edx, dword [ebp]
mov dword [ebp + 0x24], 2
sar edx, 3
mov dword [ebp + 0x28], edx
mov edx, dword [ebp + 4]
mov word [edx + 6], ax
mov eax, dword [esp + 0x10]
add dword [ebp + 4], 8
add esi, ecx
add eax, 0xfffffff8
mov dword [esp + 0x1c], esi
cmp esi, eax
ja 0x44c49e
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x50]
mov eax, dword [esp + 0x18]
lea eax, [eax + ebp + 2]
cmp ebx, 3
ja case.default.0x44c21d
jmp dword [ebx*4 + 0x44c530]
mov edi, dword [esp + 0x14]
push edi
call fcn.0041b330
add esp, 4
jmp 0x44c275
mov edi, dword [esp + 0x14]
push edi
call fcn.00448090
add esp, 4
jmp 0x44c275
mov edi, dword [esp + 0x14]
push edi
call fcn.0043ddb0
add esp, 4
jmp 0x44c275
mov edi, dword [esp + 0x14]
push edi
call fcn.00437dc0
add esp, 4
jmp 0x44c275
mov eax, dword [eax]
mov edi, dword [esp + 0x14]
imul eax, eax, 0x9e3779b1
mov ecx, 0x20
sub ecx, edi
shr eax, cl
lea ecx, [ebp + 2]
mov ebp, dword [esp + 0x24]
mov dword [ebp + eax*4], ecx
lea eax, [esi - 2]
cmp ebx, 3
ja case.default.0x44c288
jmp dword [ebx*4 + 0x44c540]
push edi
call fcn.0041b330
add esp, 4
jmp 0x44c2cc
push edi
call fcn.00448090
add esp, 4
jmp 0x44c2cc
push edi
call fcn.0043ddb0
add esp, 4
jmp 0x44c2cc
push edi
call fcn.00437dc0
add esp, 4
jmp 0x44c2cc
mov eax, dword [eax]
imul eax, eax, 0x9e3779b1
mov ecx, 0x20
sub ecx, edi
shr eax, cl
mov edx, esi
sub edx, dword [esp + 0x18]
sub edx, 2
mov dword [ebp + eax*4], edx
lea esp, [esp]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov eax, esi
sub eax, ecx
mov dword [esp + 0x5c], eax
sub eax, dword [esp + 0x2c]
cmp eax, edx
jae 0x44c2fc
mov ecx, dword [esp + 0x3c]
sub edx, eax
dec edx
cmp edx, 3
sbb edx, edx
inc edx
cmp dword [esp + 0x30], eax
lea ebp, [eax + ecx]
sbb ecx, ecx
neg ecx
test ecx, edx
je 0x44c49e
mov edx, dword [ebp]
cmp edx, dword [esi]
jne 0x44c49e
cmp eax, dword [esp + 0x28]
jae 0x44c333
mov eax, dword [esp + 0x40]
mov dword [esp + 0x38], eax
jmp 0x44c33b
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
add ebp, 4
lea eax, [esi + 4]
sub eax, ebp
add eax, edx
cmp eax, ecx
jb 0x44c353
mov eax, ecx
mov ebx, eax
mov edx, ebp
lea ecx, [esi + 4]
call fcn.0043dd00
mov edi, eax
add ebp, edi
cmp ebp, dword [esp + 0x38]
je 0x44c36b
jmp 0x44c37e
mov ebx, dword [esp + 0x10]
mov edx, dword [esp + 0x34]
lea ecx, [edi + esi + 4]
call fcn.0043dd00
add eax, edi
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x64]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x58], ebp
add ebx, 0xffffffe0
add ebp, 0xfffffffd
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0xc]
mov dword [esp + 0x2c], ecx
cmp esi, ebx
ja 0x44c3c2
mov edx, dword [esi]
mov dword [eax], edx
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
mov edx, dword [esi + 8]
mov dword [eax + 8], edx
mov ecx, dword [esi + 0xc]
mov dword [eax + 0xc], ecx
jmp 0x44c3cd
push esi
mov edx, esi
call fcn.00437d30
add esp, 4
mov edx, dword [edi + 4]
xor eax, eax
mov word [edx + 4], ax
mov ecx, dword [edi + 4]
mov dword [ecx], 1
cmp ebp, 0xffff
jbe 0x44c3f9
mov edx, dword [edi + 4]
sub edx, dword [edi]
mov dword [edi + 0x24], 2
sar edx, 3
mov dword [edi + 0x28], edx
mov eax, dword [edi + 4]
mov word [eax + 6], bp
mov eax, dword [esp + 0x6c]
add dword [edi + 4], 8
cmp eax, 3
ja case.default.0x44c40d
jmp dword [eax*4 + 0x44c550]
mov ecx, dword [esp + 0x14]
push ecx
mov eax, esi
call fcn.0041b330
add esp, 4
jmp 0x44c46b
mov edx, dword [esp + 0x14]
push edx
mov eax, esi
call fcn.00448090
add esp, 4
jmp 0x44c46b
mov eax, dword [esp + 0x14]
push eax
mov eax, esi
call fcn.0043ddb0
add esp, 4
jmp 0x44c46b
mov ecx, dword [esp + 0x14]
push ecx
mov eax, esi
call fcn.00437dc0
add esp, 4
jmp 0x44c46b
mov eax, dword [esi]
imul eax, eax, 0x9e3779b1
mov ecx, 0x20
sub ecx, dword [esp + 0x14]
shr eax, cl
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x24]
add esi, dword [esp + 0x58]
mov dword [ecx + eax*4], edx
mov eax, dword [esp + 0x10]
add eax, 0xfffffff8
mov dword [esp + 0x1c], esi
cmp esi, eax
jbe 0x44c2e0
jmp 0x44c49e
mov edx, esi
sub edx, dword [esp + 0x1c]
sar edx, 8
add edx, dword [esp + 0x4c]
add esi, edx
mov eax, dword [esp + 0x10]
add eax, 0xfffffff8
cmp esi, eax
jb 0x44bdc0
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
pop edi
pop esi
mov dword [eax], ecx
mov dword [eax + 4], edx
mov eax, dword [esp + 8]
sub eax, dword [esp + 0x14]
pop ebp
pop ebx
add esp, 0x50
ret