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

Disassembly:
mov eax, 0x13c8
call fcn.0051e49a
push ebx
push ebp
push esi
push edi
push dword [0x1010975c]
mov ebx, ecx
mov dword [esp + 0x1c], ebx
call dword [0x100df26c]
inc eax
push eax
push dword [0x1010975c]
call dword [0x100df268]
push 1
lea ecx, [esp + 0x64]
call fcn.004cf210
lea eax, [esp + 0x13dc]
push eax
lea ecx, [esp + 0x170]
call fcn.004ceb70
lea eax, [esp + 0xcc]
push eax
lea ecx, [esp + 0x170]
call fcn.004ce8b0
push 1
push 0x100e0ce0
lea ecx, [esp + 0xdc]
push dword [eax + 4]
push dword [eax]
call fcn.004ce960
mov ecx, eax
call fcn.004cea30
mov ebp, 0x3a
test eax, eax
je 0x44ef3b
mov eax, dword [0x100e0cf4]
lea ecx, [esp + 0x16c]
movq xmm0, qword [0x100e0cec]
mov dword [esp + 0x6c], eax
mov ax, word [0x100e0cf8]
movq qword [esp + 0x64], xmm0
mov word [esp + 0x70], ax
call fcn.004ceb50
cmp ax, 6
jb 0x44ef3b
push 5
lea ecx, [esp + 0x170]
call fcn.004cf1a0
cmp bp, ax
jne 0x44ef3b
push 4
lea ecx, [esp + 0x170]
call fcn.004cf1a0
cmp dword [ebx + 4], 0
mov word [esp + 0x6c], ax
je 0x44ef3b
cmp dword [0x10109614], 0
je 0x44ef3b
push 4
lea ecx, [esp + 0x170]
call fcn.004cf1a0
movzx ecx, ax
mov eax, dword [0x101095f8]
movzx edi, word [eax + ecx*2]
sub edi, 0x41
cmp edi, 0x20
jae 0x44ef3b
mov esi, dword [0x1010935c]
lea eax, [esp + 0x374]
push 0
push 0x24
push eax
push 0x17
call dword [0x100df260]
push eax
mov eax, dword [esi + 0x137c]
lea ecx, [esi + 0x137c]
call dword [eax + 0x24]
call eax
test eax, eax
jne 0x44ef3b
mov al, byte [esp + edi + 0x378]
test al, al
je 0x44ed67
cmp al, 1
je 0x44ed67
cmp al, 4
jne 0x44ef3b
lea eax, [esp + 0x5c]
mov dword [esp + 0x5c], edi
lea esi, [ebx + 0x40]
push eax
mov ecx, esi
call fcn.0044e5a0
test eax, eax
jne 0x44fd6a
push 1
lea ecx, [esp + 0x30]
mov dword [esp + 0x18], 1
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
call fcn.0044e380
push edi
mov ecx, esi
call fcn.0044e8c0
mov ebp, dword [esp + 0x2c]
lea eax, [esp + 0x14]
push eax
push ebp
lea eax, [esp + 0x74]
push eax
call dword [0x10109614]
mov ebx, eax
mov dword [esp + 0x38], edi
lea eax, [esp + 0x38]
mov ecx, esi
push eax
call fcn.004afec0
cmp ebx, 0xea
jne 0x44ee2a
mov dword [esp + 0x38], edi
jmp 0x44ede0
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x2c]
add eax, 0x100
push eax
mov dword [esp + 0x18], eax
call fcn.0044e380
push edi
mov ecx, esi
call fcn.0044e8c0
mov ebp, dword [esp + 0x2c]
lea eax, [esp + 0x14]
push eax
push ebp
lea eax, [esp + 0x74]
push eax
call dword [0x10109614]
mov ebx, eax
mov ecx, esi
lea eax, [esp + 0x38]
push eax
call fcn.004afec0
cmp ebx, 0xea
je 0x44ede0
test ebx, ebx
jne 0x44ef2e
push 0x100e0cfc
lea ecx, [esp + 0x90]
call fcn.00445f10
lea eax, [ebp + 2]
push eax
lea ecx, [esp + 0x90]
call fcn.0044dd30
push dword [esp + 0x8c]
lea ecx, [esp + 0xe8]
call fcn.004ce920
mov ecx, eax
call fcn.004ceb60
mov esi, dword [esp + 0x13e8]
mov ecx, dword [esp + 0x18]
push esi
push dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.0044eaa0
mov ecx, esi
call fcn.004ceb60
cmp word [eax], bx
jbe 0x44eec0
mov ecx, esi
call fcn.004ceb50
dec ax
mov ecx, esi
movzx eax, ax
push eax
call fcn.004cf1a0
mov ecx, 0x5c
cmp cx, ax
je 0x44eec0
push 0x100e09a0
mov ecx, esi
call fcn.004ceee0
lea ecx, [esp + 0x16c]
call fcn.004ceb50
cmp ax, 7
jbe 0x44ef14
lea ecx, [esp + 0x16c]
call fcn.004ceb50
sub ax, 7
lea ecx, [esp + 0x16c]
movzx eax, ax
push eax
call fcn.004ceb60
lea ecx, [esp + 0xf8]
mov eax, dword [eax + 4]
add eax, 0xe
push eax
call fcn.004ce940
mov ecx, eax
call fcn.004ceb60
push eax
mov ecx, esi
call fcn.004cee70
lea ecx, [esp + 0x8c]
call fcn.004464c0
lea ecx, [esp + 0x2c]
call fcn.004464f0
jmp 0x44fd8a
lea ecx, [esp + 0x2c]
call fcn.004464f0
mov ebx, dword [esp + 0x18]
lea edi, [ebx + 0x18]
push edi
lea ecx, [esp + 0x40]
mov dword [esp + 0x28], edi
call fcn.0045ec00
lea eax, [esp + 0x58]
mov ecx, edi
push eax
call fcn.0044e7d0
mov esi, dword [esp + 0x58]
cmp esi, dword [edi + 4]
jne 0x44ef69
xor ebx, ebx
test esi, esi
je 0x44ef81
jmp 0x44ef7b
mov ebx, esi
test esi, esi
je 0x44ef81
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
test ebx, ebx
je 0x44f0b4
lea esp, [esp]
lea ebp, [ebx + 0x210]
test ebx, ebx
je 0x44efa0
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
push ebx
lea eax, [esp + 0x38]
mov ecx, edi
push eax
call fcn.00450c70
mov esi, dword [esp + 0x34]
cmp esi, dword [edi + 4]
jne 0x44efc8
xor edi, edi
test esi, esi
je 0x44efe2
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x34], edi
jmp 0x44efe2
mov edi, esi
test esi, esi
je 0x44efe2
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x34], 0
test ebx, ebx
je 0x44efec
mov eax, dword [ebx]
push ebx
call dword [eax + 0xc]
mov ebx, edi
test edi, edi
je 0x44eff8
mov eax, dword [edi]
push edi
call dword [eax + 0xc]
push ebp
lea ecx, [esp + 0x7ac]
call fcn.004ceb70
push 1
lea ecx, [esp + 0x170]
call fcn.004ceb60
push eax
lea ecx, [esp + 0x7b0]
call fcn.004ceb60
push eax
call dword [0x101093e4]
test eax, eax
je 0x44f2de
lea ecx, [esp + 0x7a8]
call fcn.004ceb60
push eax
lea ecx, [esp + 0x9b4]
call fcn.004ceb70
push 0x100e09a0
lea ecx, [esp + 0x9b4]
call fcn.004ceee0
push 1
lea ecx, [esp + 0x9b4]
call fcn.004ceb60
push eax
lea ecx, [esp + 0x174]
call fcn.004ceb60
push eax
lea ecx, [esp + 0x160]
call fcn.004ce900
mov ecx, eax
call fcn.004ce9d0
test eax, eax
jne 0x44f24d
lea ecx, [esp + 0x9b0]
call fcn.004cece0
lea ecx, [esp + 0x7a8]
call fcn.004cece0
test edi, edi
mov edi, dword [esp + 0x24]
jne 0x44ef90
cmp byte [esp + 0x40], 0
mov ebp, dword [0x100df280]
je 0x44f0fa
mov esi, dword [esp + 0x3c]
dec dword [esi + 0x10]
jne 0x44f0fa
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
call dword [0x100df28c]
add esi, 0xc
cmp dword [esi], 0
jle 0x44f0fa
push esi
call dword [0x100df290]
mov eax, dword [esp + 0x3c]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call ebp
mov ebx, dword [esp + 0x18]
cmp dword [ebx + 4], 0
je 0x44f1a0
push 0x100e0d0c
lea ecx, [esp + 0x78]
call fcn.004ce920
push 1
lea ecx, [esp + 0x78]
call fcn.004ceb60
push eax
lea ecx, [esp + 0x174]
call fcn.004ceb60
push eax
lea ecx, [esp + 0x150]
call fcn.004ce900
mov ecx, eax
call fcn.004ce9d0
test eax, eax
je 0x44f1a0
lea ecx, [esp + 0x74]
call fcn.004ceb50
movzx esi, ax
lea ecx, [esp + 0x16c]
add esi, esi
call fcn.004ceb60
lea ecx, [esp + 0x16c]
mov edi, dword [eax + 4]
add edi, esi
call fcn.004ceb50
movzx esi, ax
lea ecx, [esp + 0x16c]
add esi, esi
call fcn.004ceb60
mov eax, dword [eax + 4]
add eax, esi
cmp edi, eax
je 0x44f1a0
mov edx, 0x5c
cmp dx, word [edi]
je 0x44f35f
add edi, 2
cmp edi, eax
jne 0x44f190
lea ecx, [esp + 0x16c]
call fcn.004ceb60
xor esi, esi
mov edi, dword [eax + 4]
mov eax, 0x5c
cmp ax, word [edi]
je 0x44f1d3
lea ecx, [esp + 0x16c]
call fcn.004ceb60
movzx ecx, si
add ecx, ecx
movzx eax, word [eax]
cmp ecx, eax
jne 0x44f228
lea ecx, [esp + 0xbb8]
call fcn.004cecd0
lea eax, [esp + 0xbb8]
push eax
push esi
lea ecx, [esp + 0x174]
call fcn.004ceb60
lea ecx, [esp + 0x12c]
mov eax, dword [eax + 4]
push eax
call fcn.004ce940
mov ecx, eax
call fcn.004ceb60
push eax
call fcn.004b66b0
add esp, 8
test eax, eax
je 0x44f403
lea ecx, [esp + 0xbb8]
call fcn.004cece0
lea ecx, [esp + 0x16c]
call fcn.004ceb60
movzx ecx, si
add ecx, ecx
movzx eax, word [eax]
cmp ecx, eax
je 0x44f482
inc esi
add edi, 2
jmp 0x44f1b1
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x7a8]
push eax
call fcn.004ced00
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [esp + 0x9b0]
mov ax, word [eax]
shr ax, 1
movzx esi, ax
call fcn.004ceb50
movzx edi, ax
lea ecx, [esp + 0x9b0]
add edi, edi
call fcn.004ceb50
sub si, ax
lea ecx, [esp + 0x16c]
movzx eax, si
push eax
call fcn.004ceb60
lea ecx, [esp + 0xc0]
mov eax, dword [eax + 4]
add eax, edi
push eax
call fcn.004ce940
mov ecx, eax
call fcn.004ceb60
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.004ced60
lea ecx, [esp + 0x9b0]
call fcn.004cece0
jmp 0x44f2fe
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x7a8]
push eax
call fcn.004ced00
mov ecx, dword [esp + 0x13e8]
call fcn.004cf0e0
lea ecx, [esp + 0x7a8]
call fcn.004cece0
cmp byte [esp + 0x40], 0
je 0x44fd8a
mov esi, dword [esp + 0x3c]
dec dword [esi + 0x10]
jne 0x44fd8a
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
call dword [0x100df28c]
add esi, 0xc
cmp dword [esi], 0
jle 0x44fd8a
push esi
call dword [0x100df290]
mov eax, dword [esp + 0x3c]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call dword [0x100df280]
jmp 0x44fd8a
add edi, 2
cmp edi, eax
je 0x44f1a0
mov esi, 0x3a
nop
movzx ecx, word [edi]
cmp dx, cx
je 0x44f1a0
cmp si, cx
je 0x44f38d
add edi, 2
cmp edi, eax
jne 0x44f370
jmp 0x44f1a0
cmp edi, eax
je 0x44f1a0
cmp dx, word [edi]
je 0x44f3a6
add edi, 2
cmp edi, eax
jne 0x44f395
jmp 0x44f1a0
push 0x100e0cfc
lea ecx, [esp + 0xfcc]
call fcn.004cebd0
push edi
lea ecx, [esp + 0xfcc]
call fcn.004ceee0
lea eax, [esp + 0xa4]
push eax
lea ecx, [esp + 0xfcc]
call fcn.004ce8b0
push dword [esp + 0x13e8]
mov ecx, ebx
push dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.0044eaa0
lea ecx, [esp + 0xfc8]
call fcn.004cece0
jmp 0x44fd8a
lea eax, [esp + 0xbb8]
push eax
lea ecx, [esp + 0xdc4]
call fcn.004ceb70
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [esp + 0xdc]
mov ax, word [eax]
shr ax, 1
sub ax, si
movzx eax, ax
push eax
push edi
call fcn.004ce940
mov ecx, eax
call fcn.004ceb60
push eax
lea ecx, [esp + 0xdc4]
call fcn.004cee70
lea eax, [esp + 0xdc0]
push eax
lea ecx, [esp + 0x170]
call fcn.004ced00
lea ecx, [esp + 0xdc0]
call fcn.004cece0
lea ecx, [esp + 0xbb8]
call fcn.004cece0
jmp 0x44f1a0
lea esi, [ebx + 0x24]
mov dword [esp + 0x44], esi
call dword [0x100df284]
mov edi, eax
lea ecx, [esi + 8]
cmp edi, dword [ecx]
je 0x44f4b7
cmp dword [ecx], 0
jne 0x44f4e0
push 0
push edi
push ecx
call dword [0x100df288]
test eax, eax
sete al
test al, al
je 0x44f4e0
mov dword [esi + 0x10], 0
inc dword [esi + 0x10]
mov byte [esp + 0x13], 1
mov edi, dword [esp + 0x24]
lea eax, [esp + 0x4c]
push eax
mov ecx, edi
call fcn.0044e7d0
mov esi, dword [esp + 0x4c]
cmp esi, dword [edi + 4]
jne 0x44f4f4
xor ebx, ebx
test esi, esi
je 0x44f50c
jmp 0x44f506
push 0xffffffffffffffff
push edi
mov ecx, esi
call fcn.00443a60
test al, al
jne 0x44f4b7
mov byte [esp + 0x13], al
jmp 0x44f4bf
mov ebx, esi
test esi, esi
je 0x44f50c
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
test ebx, ebx
je 0x44f64c
lea ebp, [ebx + 0x210]
test ebx, ebx
je 0x44f524
mov eax, dword [ebx]
push ebx
call dword [eax + 8]
push ebx
lea eax, [esp + 0x20]
mov ecx, edi
push eax
call fcn.00450c70
mov esi, dword [esp + 0x1c]
cmp esi, dword [edi + 4]
jne 0x44f54c
xor edi, edi
test esi, esi
je 0x44f566
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x1c], edi
jmp 0x44f566
mov edi, esi
test esi, esi
je 0x44f566
mov eax, dword [esi]
push esi
call dword [eax + 8]
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
mov dword [esp + 0x1c], 0
test ebx, ebx
je 0x44f570
mov eax, dword [ebx]
push ebx
call dword [eax + 0xc]
mov ebx, edi
test edi, edi
je 0x44f57c
mov eax, dword [edi]
push edi
call dword [eax + 0xc]
push ebp
lea ecx, [esp + 0x39c]
call fcn.004ceb70
push 1
lea ecx, [esp + 0x170]
call fcn.004ceb60
push eax
lea ecx, [esp + 0x3a0]
call fcn.004ceb60
push eax
call dword [0x101093e4]
test eax, eax
je 0x44f869
lea ecx, [esp + 0x398]
call fcn.004ceb60
push eax
lea ecx, [esp + 0x5a4]
call fcn.004ceb70
push 0x100e09a0
lea ecx, [esp + 0x5a4]
call fcn.004ceee0
lea eax, [esp + 0x12c]
push eax
lea ecx, [esp + 0x170]
call fcn.004ce8b0
push 1
lea ecx, [esp + 0x5a4]
mov esi, eax
call fcn.004ceb60
push eax
push dword [esi + 4]
lea ecx, [esp + 0xf8]
push dword [esi]
call fcn.004ce960
mov ecx, eax
call fcn.004ce9d0
test eax, eax
jne 0x44f7d8
lea ecx, [esp + 0x5a0]
call fcn.004cece0
lea ecx, [esp + 0x398]
call fcn.004cece0
test edi, edi
mov edi, dword [esp + 0x24]
jne 0x44f514
mov ebp, dword [0x100df280]
cmp byte [esp + 0x13], 0
je 0x44f68e
mov esi, dword [esp + 0x44]
dec dword [esi + 0x10]
jne 0x44f68e
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
mov eax, dword [0x100df28c]
call eax
add esi, 0xc
cmp dword [esi], 0
jle 0x44f68e
mov eax, dword [0x100df290]
push esi
call eax
mov eax, dword [esp + 0x44]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call ebp
push 0
push 0x40
lea ecx, [esp + 0x174]
call fcn.004ceb60
push eax
push 0
lea ecx, [esp + 0x114]
call fcn.004ce8d0
mov eax, dword [esp + 0x18]
cmp dword [eax + 4], 0
je 0x44f9ea
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [esp + 0x16c]
mov ax, word [eax]
shr ax, 1
movzx edi, ax
mov dword [esp + 0x18], edi
movzx ebp, di
call fcn.004ceb60
movzx ecx, di
xor esi, esi
mov dword [esp + 0x14], esi
mov eax, dword [eax + 4]
lea ebx, [eax + ecx*2]
mov eax, 0x5c
cmp ax, word [ebx]
je 0x44f705
cmp bp, di
jne 0x44f9b0
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [ebp*2]
push 0x21
push 3
mov word [eax], cx
lea ecx, [esp + 0x104]
mov esi, dword [0x1010935c]
mov dword [esp + 0x28], 0
call fcn.004ce880
mov ecx, eax
call fcn.004ceb60
push eax
lea ecx, [esp + 0x110]
call fcn.004ceb60
push eax
push 0x100000
lea eax, [esp + 0x34]
push eax
mov eax, dword [esi + 0x5dc]
lea ecx, [esi + 0x5dc]
call dword [eax + 0x24]
call eax
test eax, eax
jne 0x44f98a
mov edi, 0x400
xor esi, esi
test edi, edi
je 0x44f787
push edi
call fcn.00512390
add esp, 4
mov esi, eax
mov ecx, dword [0x1010935c]
lea eax, [esp + 0x98]
push eax
push edi
add ecx, 0x107c
push esi
push 1
push dword [esp + 0x30]
mov eax, dword [ecx]
call dword [eax + 0x24]
call eax
cmp eax, 0xc0000004
je 0x44f7c3
cmp eax, 0x80000005
je 0x44f7c3
cmp eax, 0xc0000023
jne 0x44f8ec
add edi, 0x100
test esi, esi
je 0x44f776
push esi
call fcn.005123a0
add esp, 4
jmp 0x44f776
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x398]
push eax
call fcn.004ced00
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [esp + 0x5a0]
mov ax, word [eax]
shr ax, 1
movzx esi, ax
call fcn.004ceb50
movzx edi, ax
lea ecx, [esp + 0x5a0]
add edi, edi
call fcn.004ceb50
sub si, ax
lea ecx, [esp + 0x16c]
movzx eax, si
push eax
call fcn.004ceb60
lea ecx, [esp + 0x140]
mov eax, dword [eax + 4]
add eax, edi
push eax
call fcn.004ce940
mov ecx, eax
call fcn.004ceb60
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.004ced60
lea ecx, [esp + 0x5a0]
call fcn.004cece0
jmp 0x44f889
mov ecx, dword [esp + 0x13e4]
lea eax, [esp + 0x398]
push eax
call fcn.004ced00
mov ecx, dword [esp + 0x13e8]
call fcn.004cf0e0
lea ecx, [esp + 0x398]
call fcn.004cece0
cmp byte [esp + 0x13], 0
je 0x44fd8a
mov esi, dword [esp + 0x44]
dec dword [esi + 0x10]
jne 0x44fd8a
push 0
lea eax, [esi + 8]
mov dword [esi + 0x10], 0
push eax
mov eax, dword [0x100df28c]
call eax
add esi, 0xc
cmp dword [esi], 0
jle 0x44fd8a
mov eax, dword [0x100df290]
push esi
call eax
mov eax, dword [esp + 0x44]
push 0
push 1
mov eax, dword [eax + 0x14]
push eax
call dword [0x100df280]
jmp 0x44fd8a
test eax, eax
jne 0x44f979
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x11d0]
sub eax, ebp
push eax
push ebx
call fcn.004cec50
push dword [esi + 4]
lea ecx, [esp + 0x170]
push dword [esi]
call fcn.004ced60
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x11d4]
call fcn.004ce8b0
lea eax, [esp + 0x9c]
push eax
lea ecx, [esp + 0x170]
call fcn.004cee70
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [esp + 0x11d0]
mov dword [esp + 0x14], 1
mov ax, word [eax]
shr ax, 1
movzx edi, ax
mov dword [esp + 0x18], edi
call fcn.004cece0
push esi
call fcn.005123a0
add esp, 4
jmp 0x44f98a
test esi, esi
je 0x44f986
push esi
call fcn.005123a0
add esp, 4
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
test eax, eax
je 0x44f9ac
cmp eax, 0xffffffff
je 0x44f9ac
push eax
call fcn.00507820
mov ecx, dword [esp + 0x20]
xor edx, edx
test eax, eax
cmovne ecx, edx
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 0x14]
lea ecx, [esp + 0x16c]
call fcn.004ceb60
cmp dword [eax + 4], ebx
je 0x44f9d4
add ebp, 0xffff
sub ebx, 2
test esi, esi
je 0x44f6f2
jmp 0x44f9ea
test esi, esi
jne 0x44f9ea
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [edi + edi]
mov word [eax], cx
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [esp + 0x16c]
xor edi, edi
mov ebx, dword [eax + 4]
call fcn.004ceb60
mov esi, 0x5c
mov ax, word [eax]
shr ax, 1
movzx ebp, ax
cmp si, word [ebx]
je 0x44fa23
cmp di, bp
jne 0x44fb2c
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [edi + edi]
mov dword [esp + 0x1c], 0
mov word [eax], cx
cmp si, word [ebx]
jne 0x44fa5a
lea ecx, [esp + 0x16c]
call fcn.004ceb60
mov dword [esp + 0x1c], 1
add word [eax], 2
mov esi, dword [0x1010935c]
lea ecx, [esp + 0x14c]
push 0x21
push 3
mov dword [esp + 0x30], 0
call fcn.004ce880
mov ecx, eax
call fcn.004ceb60
push eax
lea ecx, [esp + 0x110]
call fcn.004ceb60
push eax
push 0x100001
lea eax, [esp + 0x3c]
push eax
mov eax, dword [esi + 0x5dc]
lea ecx, [esi + 0x5dc]
call dword [eax + 0x24]
call eax
test eax, eax
jne 0x44fb15
push 0x400
call fcn.00512390
mov esi, dword [0x1010935c]
lea ecx, [esp + 0x120]
add esp, 4
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 0x400
push 1
push 0
push 0
push 3
push 0x400
push eax
call fcn.004ce880
mov ecx, eax
call fcn.004ceb60
push eax
mov eax, dword [esi + 0x9fc]
lea ecx, [esi + 0x9fc]
push 0
push 0
push 0
push dword [esp + 0x50]
call dword [eax + 0x24]
call eax
test eax, eax
je 0x44fb35
lea ecx, [esp + 0x50]
call fcn.004464f0
lea ecx, [esp + 0x28]
call fcn.0044dba0
cmp di, bp
je 0x44fbd1
mov esi, 0x5c
inc edi
add ebx, 2
jmp 0x44fa15
mov ebx, dword [esp + 0x13e4]
lea eax, [esp + 0x16c]
push eax
mov ecx, ebx
call fcn.004ced00
cmp dword [esp + 0x1c], 0
je 0x44fb61
mov ecx, ebx
call fcn.004ceb60
mov ecx, 0xfffe
add word [eax], cx
cmp bp, di
jne 0x44fb79
push 0x100e03cc
lea ecx, [esp + 0x160]
call fcn.004ce920
jmp 0x44fba2
sub ebp, edi
lea ecx, [esp + 0x16c]
dec ebp
push ebp
call fcn.004ceb60
movzx ecx, di
mov eax, dword [eax + 4]
lea eax, [eax + ecx*2]
add eax, 2
lea ecx, [esp + 0x168]
push eax
call fcn.004ce940
mov ecx, eax
call fcn.004ceb60
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.004ced60
lea ecx, [esp + 0x50]
call fcn.004464f0
lea ecx, [esp + 0x28]
call fcn.0044dba0
jmp 0x44fd4e
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [ebp*2]
push 1
push 0x100e0ce0
mov word [eax], cx
lea ecx, [esp + 0x174]
call fcn.004ceb60
push eax
lea ecx, [esp + 0x140]
call fcn.004ce900
mov ecx, eax
call fcn.004cea30
test eax, eax
je 0x44fd6a
mov eax, dword [0x100e0cf4]
lea ecx, [esp + 0x16c]
movq xmm0, qword [0x100e0cec]
mov dword [esp + 0x84], eax
movzx eax, word [0x100e0cf8]
movq qword [esp + 0x7c], xmm0
mov word [esp + 0x88], ax
call fcn.004ceb60
mov ecx, 0xfffe
movzx eax, word [eax]
and ax, cx
cmp ax, 0xc
jb 0x44fd6a
lea ecx, [esp + 0x16c]
call fcn.004ceb60
mov ecx, 0x3a
mov eax, dword [eax + 4]
cmp cx, word [eax + 0xa]
jne 0x44fd6a
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [esp + 0xac]
mov eax, dword [eax + 4]
mov ax, word [eax + 8]
mov word [esp + 0x84], ax
lea eax, [esp + 0x7c]
push eax
call fcn.004ce920
mov ecx, eax
call fcn.004ceb60
mov ebx, dword [esp + 0x13e4]
mov ecx, ebx
push dword [eax + 4]
push dword [eax]
call fcn.004ced60
lea ecx, [esp + 0x16c]
mov edi, 6
call fcn.004ceb60
cmp word [eax], 0xc
jne 0x44fcee
push 0x100e03cc
lea ecx, [esp + 0xb8]
call fcn.004ce920
jmp 0x44fd36
lea ecx, [esp + 0x16c]
call fcn.004ceb60
mov esi, dword [eax + 4]
mov eax, 0x5c
add esi, 0xc
cmp ax, word [esi]
jne 0x44fd10
add esi, 2
lea edi, [eax - 0x55]
lea ecx, [esp + 0x16c]
call fcn.004ceb60
lea ecx, [esp + 0xc4]
mov ax, word [eax]
shr ax, 1
sub ax, di
movzx eax, ax
push eax
push esi
call fcn.004ce940
mov ecx, eax
call fcn.004ceb60
mov ecx, dword [esp + 0x13e8]
push dword [eax + 4]
push dword [eax]
call fcn.004ced60
sub esp, 0x208
mov ecx, esp
push ebx
call fcn.004ceb70
mov ecx, dword [esp + 0x22c]
call fcn.0044e8f0
jmp 0x44fd8a
mov ecx, dword [esp + 0x13e4]
call fcn.004cf0e0
mov ecx, dword [esp + 0x13e8]
lea eax, [esp + 0x16c]
push eax
call fcn.004ced00
lea ecx, [esp + 0x16c]
call fcn.004cece0
lea ecx, [esp + 0x60]
call fcn.004cf230
push dword [0x1010975c]
call dword [0x100df26c]
dec eax
push eax
push dword [0x1010975c]
call dword [0x100df268]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x13c8
ret 0x10