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

Disassembly:
sub esp, 0xa8
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ebx, edx
imul ebp, ebx, 0x544
xor esi, esi
push 0x2c
push esi
mov eax, dword [edi]
mov ecx, dword [edi + 0x28]
mov dword [esp + 0x6c], eax
add ebp, edi
xor eax, eax
mov dword [esp + 0x88], ecx
mov dword [esp + 0x1c], eax
mov eax, dword [edi + 0x24]
mov dword [esp + 0x70], ebp
lea eax, [ecx + eax*4]
mov dword [esp + 0x90], eax
mov eax, dword [edi + 0xabc]
mov ecx, dword [eax + 0x28]
mov eax, 0x24924925
mul ecx
lea eax, [esp + 0x94]
sub ecx, edx
shr ecx, 1
add ecx, edx
shr ecx, 3
push eax
mov dword [esp + 0x7c], ecx
call fcn.101a2030
mov eax, dword [ebp + 0x44]
add esp, 0xc
mov dword [ebp + 0x2c], esi
mov ecx, dword [edi + 0x18]
cdq
xor eax, edx
mov dword [esp + 0xa8], 0x7d00
sub eax, edx
mov byte [esp + 0x8c], 0
mov edx, dword [edi + 0x1c]
lea ecx, [ecx + ecx*4]
shl ecx, 3
add ecx, edx
mov dword [esp + 0x60], eax
mov dword [esp + 0x84], eax
test ebx, ebx
jne 0x10043c77
cmp edx, ecx
jae 0x10043c95
nop
movsx eax, word [edx + 0xc]
mov dword [edx + 0x18], eax
movsx eax, word [edx + 0xe]
mov dword [edx + 0x1c], eax
add edx, 0x28
cmp edx, ecx
jb 0x10043c60
jmp 0x10043c95
cmp edx, ecx
jae 0x10043c95
nop dword [eax + eax]
movsx eax, word [edx + 0xe]
mov dword [edx + 0x18], eax
movsx eax, word [edx + 0xc]
mov dword [edx + 0x1c], eax
add edx, 0x28
cmp edx, ecx
jb 0x10043c80
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x88]
jae 0x10044583
nop dword [eax]
mov ebp, dword [eax]
xor ebx, ebx
mov edi, 0x7d00
mov dword [esp + 0x18], 0
mov dword [esp + 0x38], edi
mov dword [esp + 0x24], 0xffff8300
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], 0xffff8300
mov dword [esp + 0x48], 0
mov cl, byte [eax + 3]
movsx edx, cl
mov eax, edx
mov dword [esp + 0x44], 0
neg eax
mov dword [esp + 0x30], edi
test cl, cl
mov dword [esp + 0x28], 0xffff8300
mov dword [esp + 0x34], ebx
cmovns eax, edx
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], 0xffff8300
mov dword [esp + 0x54], edi
mov dword [esp + 0x58], 0xffff8300
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x5c], edi
mov dword [esp + 0x7c], 0xffff8300
cmp eax, dword [esp + 0x60]
jne 0x10043d79
mov cl, byte [ebp + 3]
movsx edx, cl
mov eax, edx
neg eax
test cl, cl
cmovns eax, edx
cmp eax, dword [esp + 0x60]
jne 0x10043d79
mov dword [esp + 0x6c], ebp
mov ebp, dword [ebp + 0x24]
mov cl, byte [ebp + 3]
movsx edx, cl
mov eax, edx
neg eax
test cl, cl
cmovns eax, edx
cmp eax, dword [esp + 0x60]
jne 0x10043d76
cmp ebp, dword [esp + 0x6c]
jne 0x10043d56
jmp 0x10043d79
mov ebp, dword [ebp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, ebx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x6c], ebp
mov byte [esp + 0x2e], bl
nop dword [eax + eax]
mov ebx, dword [esp + 0x48]
movzx ebx, bx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ecx
test eax, eax
je 0x100441f1
mov ecx, dword [ebp + 0x18]
cmp ecx, edi
mov eax, ecx
cmovge eax, edi
cmp ecx, edx
mov edi, eax
mov eax, ebx
mov ebx, dword [esp + 0x3c]
cmovle ecx, edx
cmp dword [ebp + 0x1c], ebx
mov edx, ecx
movzx eax, ax
mov dword [esp + 0x24], edx
mov dword [esp + 0x10], edx
movzx edx, word [ebp]
mov ecx, edx
mov dword [esp + 0x38], edi
cmovge ecx, eax
movzx eax, cx
mov ecx, edx
mov dword [esp + 0x3c], eax
mov eax, dword [ebp + 0x1c]
cmp eax, ebx
cmovge eax, ebx
mov ebx, dword [ebp + 0x1c]
cmp ebx, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x44]
movzx eax, ax
cmovle ecx, eax
movzx eax, cx
mov ecx, ebx
cmovle ecx, dword [esp + 0x20]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x40], eax
mov dword [esp + 0x20], ecx
test dl, 3
jne 0x10043e3f
mov eax, dword [ebp + 0x1c]
cmp eax, dword [esp + 0x30]
cmovge eax, dword [esp + 0x30]
mov edx, eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x30], edx
cmp eax, dword [esp + 0x28]
jle 0x10043e3f
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], edx
movsx eax, byte [ebp + 3]
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x84]
jne 0x10043e6c
mov eax, dword [esp + 0x40]
movzx eax, ax
mov dword [esp + 0x44], eax
movzx eax, dx
mov dword [esp + 0x48], eax
cmp ebp, dword [esp + 0x6c]
jne 0x100441e5
test ebx, ebx
je 0x1004412c
mov eax, dword [ebx + 0x28]
cmp dword [esi + 0x24], eax
jne 0x1004412c
mov al, byte [eax + 2]
cmp al, byte [ebp + 2]
jne 0x10043fb1
mov eax, dword [esp + 0x4c]
cmp eax, edi
mov ecx, dword [esp + 0x50]
mov esi, ecx
cmovge eax, edi
mov ebx, dword [esp + 0x7c]
cmp ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x1c]
cmovle esi, dword [esp + 0x10]
cmp dword [esp + 0x54], edi
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x74]
movzx ecx, ax
movzx eax, dx
cmovge ecx, eax
mov dword [esp + 0x24], esi
movzx edx, cx
mov eax, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x54]
cmovge eax, edi
mov edi, eax
mov eax, dword [esp + 0x78]
movzx ecx, ax
mov eax, dword [esp + 0x40]
movzx eax, ax
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x20]
cmp dword [esp + 0x58], edi
cmovle ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x58]
cmovle eax, edi
mov edi, eax
mov eax, dword [esp + 0x5c]
cmp eax, ecx
mov dword [esp + 0x20], edi
cmovge eax, ecx
cmp ebx, dword [esp + 0x28]
mov ecx, eax
mov eax, ebx
cmovle eax, dword [esp + 0x28]
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x38]
add eax, esi
mov dword [esp + 0x30], ecx
sar eax, 1
mov word [ebx + 2], ax
mov eax, esi
sub eax, dword [esp + 0x38]
sar eax, 1
mov word [ebx + 4], ax
mov al, byte [esp + 0x10]
or al, dl
mov dword [ebx + 0x28], ebp
test al, 3
je 0x10043f64
mov eax, dword [esp + 0x28]
sub eax, ecx
cmp eax, dword [esp + 0x70]
jge 0x10043f64
or byte [ebx], 1
jmp 0x10043f67
and byte [ebx], 0xfe
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
movzx eax, di
mov word [ebx + 8], ax
movzx ecx, cx
sub eax, ecx
mov word [ebx + 6], cx
mov ecx, dword [esp + 0x1c]
mov word [ebx + 0xa], ax
mov eax, dword [esp + 0x18]
movzx edi, ax
mov eax, dword [esp + 0x10]
movzx esi, ax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edi
dec dword [eax + 0x2c]
xor eax, eax
mov dword [esp + 0x18], eax
xor esi, esi
jmp 0x100441f1
mov eax, ecx
sub eax, dword [esp + 0x1c]
cdq
mov ecx, eax
mov eax, dword [esp + 0x58]
sub eax, dword [esp + 0x54]
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
cmp eax, ecx
jle 0x1004403f
mov edx, dword [esp + 0x4c]
cmp edi, edx
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x50]
cmovl edx, edi
cmp ecx, esi
mov dword [esp + 0x38], edi
mov dword [ebx + 0x28], ebp
cmovg esi, ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], esi
lea eax, [esi + edx]
sar eax, 1
mov word [ebx + 2], ax
mov eax, esi
sub eax, edx
mov edx, ecx
mov ecx, dword [esp + 0x1c]
sar eax, 1
mov word [ebx + 4], ax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
movzx esi, ax
mov eax, dword [esp + 0x3c]
movzx edi, ax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x44], esi
mov dword [esp + 0x48], edi
dec dword [eax + 0x2c]
xor eax, eax
mov dword [esp + 0x18], eax
xor esi, esi
jmp 0x100441f1
mov ecx, dword [esp + 0x4c]
cmp ecx, edi
mov dword [esi + 0x28], ebp
cmovge ecx, edi
mov edi, dword [esp + 0x50]
cmp edi, dword [esp + 0x10]
mov edx, edi
mov dword [esp + 0x38], ecx
cmovle edx, dword [esp + 0x10]
lea eax, [edx + ecx]
sar eax, 1
mov word [esi + 2], ax
mov eax, edx
sub eax, ecx
sar eax, 1
mov word [esi + 4], ax
mov al, byte [esp + 0x40]
or al, byte [esp + 0x3c]
test al, 3
je 0x1004408e
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x70]
jge 0x1004408e
or byte [esi], 1
mov edi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
movzx ecx, ax
mov word [esi + 6], cx
movzx eax, di
mov word [esi + 8], ax
sub eax, ecx
mov word [esi + 0xa], ax
movups xmm0, xmmword [esi]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x58], edi
movups xmmword [ebx], xmm0
mov dword [esp + 0x20], edi
movups xmm0, xmmword [esi + 0x10]
mov dword [esp + 0x50], edx
mov dword [esp + 0x54], ecx
movups xmmword [ebx + 0x10], xmm0
movq xmm0, qword [esi + 0x20]
movq qword [ebx + 0x20], xmm0
mov eax, dword [esi + 0x28]
mov esi, dword [esp + 0x40]
mov dword [ebx + 0x28], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x3c]
movzx ebx, ax
movzx edi, ax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x74], ebx
movzx ebx, si
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x30]
dec dword [eax + 0x2c]
xor eax, eax
movzx esi, si
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x44], esi
xor esi, esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x48], edi
mov dword [esp + 0x18], eax
jmp 0x100441f1
mov edx, dword [esp + 0x10]
mov dword [esi + 0x28], ebp
lea eax, [edx + edi]
sar eax, 1
mov word [esi + 2], ax
mov eax, edx
sub eax, edi
sar eax, 1
mov word [esi + 4], ax
mov al, byte [esp + 0x40]
or al, byte [esp + 0x3c]
test al, 3
je 0x10044163
mov eax, dword [esp + 0x28]
sub eax, dword [esp + 0x30]
cmp eax, dword [esp + 0x70]
jge 0x10044163
or byte [esi], 1
mov eax, dword [esp + 0x1c]
movzx ecx, ax
mov eax, dword [esp + 0x20]
movzx eax, ax
mov word [esi + 8], ax
sub eax, ecx
mov word [esi + 0xa], ax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x3c]
mov word [esi + 6], cx
mov ecx, dword [esp + 0x20]
movzx ebx, ax
mov dword [esp + 0x34], esi
mov esi, dword [esp + 0x40]
mov dword [esp + 0x74], ebx
movzx ebx, si
movzx eax, ax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x20], ecx
movzx ecx, si
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x5c], ebx
xor esi, esi
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x38], edi
mov dword [esp + 0x18], eax
jmp 0x100441f1
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp ebp, dword [esp + 0x6c]
jne 0x10044207
cmp byte [esp + 0x2e], 0
jne 0x10044561
mov byte [esp + 0x2e], 1
test eax, eax
jne 0x10044555
mov al, byte [ebp + 3]
mov byte [esp + 0x2f], al
movsx edi, al
mov eax, edi
neg eax
cmp byte [esp + 0x2f], 0
cmovge eax, edi
cmp eax, dword [esp + 0x60]
je 0x10044234
cmp ebp, dword [ebp + 0x24]
jne 0x10044551
mov dword [esp + 0x84], edi
xor edx, edx
mov edi, dword [esp + 0x68]
xor esi, esi
mov dword [esp + 0x14], edx
mov eax, dword [edi + 0x2c]
cmp eax, 0x12
jge 0x1004426a
cmp dword [edi + 0x34], edx
jne 0x1004446f
lea eax, [edi + 0x48]
mov dword [edi + 0x30], 0x12
mov dword [edi + 0x34], eax
jmp 0x1004446f
mov ecx, dword [edi + 0x30]
mov dword [esp + 0x44], ecx
cmp eax, ecx
jl 0x1004446f
cmp ecx, 0x2e8ba2e
jge 0x100445eb
mov ebx, ecx
sar ebx, 2
add ebx, 4
add ebx, ecx
cmp ebx, ecx
jl 0x1004429b
cmp ebx, 0x2e8ba2e
jle 0x100442a0
mov ebx, 0x2e8ba2e
mov eax, dword [edi + 0x34]
lea edx, [edi + 0x48]
mov dword [esp + 0x48], edx
mov dword [esp + 0x18], eax
cmp eax, edx
jne 0x10044380
xor eax, eax
test ebx, ebx
js 0x10044612
je 0x1004435f
cmp ebx, 0x2e8ba2e
jg 0x100445fd
mov eax, dword [esp + 0x64]
mov ecx, eax
imul edx, ebx, 0x2c
mov eax, dword [eax + 4]
call eax
mov ecx, eax
mov edx, 0x40
test ecx, ecx
mov dword [esp + 0x18], ecx
mov eax, esi
mov dword [esp + 0x10], ecx
cmove eax, edx
mov dword [esp + 0x14], eax
mov edx, eax
mov dword [esp + 0x24], edx
test eax, eax
jne 0x10044334
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], edx
test ecx, ecx
je 0x10044334
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], eax
test ebx, ebx
jle 0x10044334
imul eax, ebx, 0x2c
push eax
push edx
push ecx
call fcn.101a2030
mov eax, dword [esp + 0x24]
add esp, 0xc
mov edx, dword [esp + 0x14]
jmp 0x10044367
mov eax, dword [esp + 0x10]
mov dword [esp + 0x14], edx
mov dword [edi + 0x34], eax
cmp dword [esp + 0x24], esi
jne 0x1004447c
mov esi, dword [esp + 0x48]
mov ecx, 0xc6
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x68]
jmp 0x1004446c
xor eax, eax
xor edx, edx
mov dword [esp + 0x14], edx
mov esi, dword [esp + 0x48]
mov ecx, 0xc6
mov dword [edi + 0x34], eax
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x68]
jmp 0x1004446c
mov dword [esp + 0x10], esi
test ecx, ecx
js 0x10044612
test ebx, ebx
js 0x10044612
je 0x10044452
cmp ebx, 0x2e8ba2e
jg 0x100445fd
imul edx, ebx, 0x2c
test ecx, ecx
jne 0x100443e6
mov eax, dword [esp + 0x64]
mov ecx, eax
mov eax, dword [eax + 4]
call eax
mov edx, eax
mov ecx, 0x40
test edx, edx
mov dword [esp + 0x18], edx
mov eax, esi
cmove eax, ecx
mov ecx, edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], eax
test eax, eax
jne 0x1004443f
mov dword [esp + 0x24], ecx
mov dword [esp + 0x10], eax
test edx, edx
je 0x1004443f
jmp 0x1004440e
push eax
mov eax, dword [esp + 0x68]
push edx
imul edx, ecx, 0x2c
mov ecx, eax
mov eax, dword [eax + 0xc]
call eax
mov edx, eax
mov dword [esp + 0x24], edx
test edx, edx
je 0x100445e4
xor eax, eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x44]
cmp ebx, ecx
jle 0x1004443b
mov eax, ebx
sub eax, ecx
imul eax, eax, 0x2c
push eax
imul eax, ecx, 0x2c
push 0
add eax, edx
push eax
call fcn.101a2030
mov eax, dword [esp + 0x24]
add esp, 0xc
mov edx, dword [esp + 0x14]
mov dword [edi + 0x34], eax
jmp 0x1004446c
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov edx, eax
mov dword [esp + 0x14], edx
mov dword [edi + 0x34], ecx
test eax, eax
jne 0x1004447c
jmp 0x1004446c
test eax, eax
je 0x10044463
mov edx, eax
mov eax, dword [esp + 0x64]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
xor edx, edx
mov dword [edi + 0x34], esi
mov dword [esp + 0x14], edx
mov dword [edi + 0x30], ebx
mov eax, dword [edi + 0x2c]
imul esi, eax, 0x2c
add esi, dword [edi + 0x34]
inc eax
mov dword [edi + 0x2c], eax
test edx, edx
jne 0x10044653
movups xmm0, xmmword [esp + 0x8c]
mov ecx, dword [esp + 0x34]
lea ebx, [esi - 0x2c]
mov al, byte [esp + 0x2f]
test ecx, ecx
movups xmmword [esi], xmm0
cmove ebx, ecx
movups xmm0, xmmword [esp + 0x9c]
mov dword [esp + 0x34], ebx
movups xmmword [esi + 0x10], xmm0
movq xmm0, qword [esp + 0xac]
movq qword [esi + 0x20], xmm0
mov byte [esi + 1], al
mov dword [esi + 0x24], ebp
mov dword [esi + 0x28], ebp
movzx eax, word [ebp]
mov edi, dword [ebp + 0x1c]
mov ebx, eax
mov edx, dword [ebp + 0x18]
mov ecx, edi
mov dword [esp + 0x44], ebx
movzx ebx, bx
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x48], ebx
test al, 3
je 0x100444fd
mov dword [esp + 0x30], 0x7d00
mov dword [esp + 0x28], 0xffff8300
jmp 0x10044507
mov eax, edi
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], eax
mov eax, 1
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x18], eax
cmp ebp, dword [ebp + 0x24]
jne 0x10044555
mov word [esi + 2], dx
test byte [ebp], 3
je 0x10044525
or byte [esi], al
movzx eax, word [ebp + 0x1c]
mov edi, dword [esp + 0x38]
mov word [esi + 6], ax
movzx eax, word [ebp + 0x1c]
mov word [esi + 8], ax
xor eax, eax
mov word [esi + 0xa], ax
xor esi, esi
mov ebp, dword [ebp + 0x20]
mov dword [esp + 0x18], eax
mov dword [esp + 0x34], ebx
jmp 0x10043d90
mov eax, dword [esp + 0x18]
mov ebp, dword [ebp + 0x20]
mov edi, dword [esp + 0x38]
jmp 0x10043d90
mov eax, dword [esp + 0x80]
add eax, 4
mov dword [esp + 0x80], eax
cmp eax, dword [esp + 0x88]
jb 0x10043cb0
mov ebp, dword [esp + 0x68]
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x1004464f
imul edx, dword [ebp + 0x2c], 0x2c
add edx, eax
cmp eax, edx
jae 0x1004464f
sub edx, eax
lea ecx, [eax + 0xa]
dec edx
mov eax, 0xba2e8ba3
mul edx
mov ebx, edx
shr ebx, 5
inc ebx
nop
mov eax, dword [ecx + 0x1a]
mov edi, dword [ecx + 0x1e]
mov esi, dword [eax + 0x1c]
mov eax, dword [eax + 0x24]
mov edx, dword [edi + 0x1c]
mov eax, dword [eax + 0x1c]
cmp esi, edx
jge 0x10044627
cmp eax, esi
jge 0x100445d1
sub esi, eax
sar esi, 1
add word [ecx], si
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 0x1c]
cmp eax, edx
jle 0x10044643
sub eax, edx
sar eax, 1
add word [ecx], ax
jmp 0x10044643
mov eax, dword [esp + 0x18]
mov dword [edi + 0x34], eax
pop edi
pop esi
mov edx, 0x40
pop ebp
mov eax, edx
pop ebx
add esp, 0xa8
ret
mov dword [edi + 0x34], eax
mov edx, 0xa
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0xa8
ret
mov dword [edi + 0x34], eax
mov edx, 6
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0xa8
ret
cmp eax, esi
jle 0x10044632
sub eax, esi
sar eax, 1
add word [ecx], ax
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 0x1c]
cmp eax, edx
jge 0x10044643
sub edx, eax
sar edx, 1
add word [ecx], dx
add ecx, 0x2c
sub ebx, 1
jne 0x100445b0
mov edx, dword [esp + 0x14]
pop edi
pop esi
pop ebp
mov eax, edx
pop ebx
add esp, 0xa8
ret