Function at 0x1002c850
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 + 0x28], 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.100eae50
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 0x1002c917
cmp edx, ecx
jae 0x1002c935
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 0x1002c900
jmp 0x1002c935
cmp edx, ecx
jae 0x1002c935
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 0x1002c920
mov eax, dword [esp + 0x80]
cmp eax, dword [esp + 0x88]
jae 0x1002d20f
nop dword [eax]
mov ebp, dword [eax]
xor ebx, ebx
mov edi, 0x7d00
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], edi
mov dword [esp + 0x24], 0xffff8300
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], 0xffff8300
mov dword [esp + 0x44], 0
mov cl, byte [eax + 3]
movsx edx, cl
mov eax, edx
mov dword [esp + 0x48], 0
neg eax
mov dword [esp + 0x2c], edi
test cl, cl
mov dword [esp + 0x1c], 0xffff8300
mov dword [esp + 0x30], 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 0x1002ca19
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 0x1002ca19
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 0x1002ca16
cmp ebp, dword [esp + 0x6c]
jne 0x1002c9f6
jmp 0x1002ca19
mov ebp, dword [ebp + 0x20]
mov edx, dword [esp + 0x24]
mov eax, ebx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], ebp
mov byte [esp + 0x2a], bl
nop dword [eax + eax]
mov ebx, dword [esp + 0x44]
movzx ebx, bx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ecx
test eax, eax
je 0x1002ce91
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 + 0x34], 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 + 0x18]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
movzx eax, ax
cmovle ecx, eax
movzx eax, cx
mov ecx, ebx
cmovle ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], ecx
test dl, 3
jne 0x1002cadf
mov eax, dword [ebp + 0x1c]
cmp eax, dword [esp + 0x2c]
cmovge eax, dword [esp + 0x2c]
mov edx, eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 0x2c], edx
cmp eax, dword [esp + 0x1c]
jle 0x1002cadf
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], edx
movsx eax, byte [ebp + 3]
mov edx, dword [esp + 0x3c]
cmp eax, dword [esp + 0x84]
jne 0x1002cb0c
mov eax, dword [esp + 0x40]
movzx eax, ax
mov dword [esp + 0x48], eax
movzx eax, dx
mov dword [esp + 0x44], eax
cmp ebp, dword [esp + 0x6c]
jne 0x1002ce85
test ebx, ebx
je 0x1002cdcc
mov eax, dword [ebx + 0x28]
cmp dword [esi + 0x24], eax
jne 0x1002cdcc
mov al, byte [eax + 2]
cmp al, byte [ebp + 2]
jne 0x1002cc51
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 + 0x14]
cmovle esi, dword [esp + 0x10]
cmp dword [esp + 0x54], edi
mov dword [esp + 0x34], 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 + 0x38], 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 + 0x14], edi
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x58], edi
cmovle ecx, eax
movzx eax, cx
mov ecx, dword [esp + 0x2c]
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 + 0x18], edi
cmovge eax, ecx
cmp ebx, dword [esp + 0x1c]
mov ecx, eax
mov eax, ebx
cmovle eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x34]
add eax, esi
mov dword [esp + 0x2c], ecx
sar eax, 1
mov word [ebx + 2], ax
mov eax, esi
sub eax, dword [esp + 0x34]
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 0x1002cc04
mov eax, dword [esp + 0x1c]
sub eax, ecx
cmp eax, dword [esp + 0x70]
jge 0x1002cc04
or byte [ebx], 1
jmp 0x1002cc07
and byte [ebx], 0xfe
mov ecx, dword [esp + 0x14]
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 + 0x14]
mov word [ebx + 0xa], ax
mov eax, dword [esp + 0x38]
movzx edi, ax
mov eax, dword [esp + 0x10]
movzx esi, ax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], edi
dec dword [eax + 0x2c]
xor eax, eax
mov dword [esp + 0x38], eax
xor esi, esi
jmp 0x1002ce91
mov eax, ecx
sub eax, dword [esp + 0x14]
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 0x1002ccdf
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 + 0x34], 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 + 0x14]
sar eax, 1
mov word [ebx + 4], ax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x18], 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 + 0x48], esi
mov dword [esp + 0x44], edi
dec dword [eax + 0x2c]
xor eax, eax
mov dword [esp + 0x38], eax
xor esi, esi
jmp 0x1002ce91
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 + 0x34], 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 0x1002cd2e
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x70]
jge 0x1002cd2e
or byte [esi], 1
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
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 + 0x14]
mov dword [esp + 0x58], edi
movups xmmword [ebx], xmm0
mov dword [esp + 0x18], 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 + 0x34]
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 + 0x2c]
dec dword [eax + 0x2c]
xor eax, eax
movzx esi, si
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x48], esi
xor esi, esi
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x44], edi
mov dword [esp + 0x38], eax
jmp 0x1002ce91
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 0x1002ce03
mov eax, dword [esp + 0x1c]
sub eax, dword [esp + 0x2c]
cmp eax, dword [esp + 0x70]
jge 0x1002ce03
or byte [esi], 1
mov eax, dword [esp + 0x14]
movzx ecx, ax
mov eax, dword [esp + 0x18]
movzx eax, ax
mov word [esi + 8], ax
sub eax, ecx
mov word [esi + 0xa], ax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x3c]
mov word [esi + 6], cx
mov ecx, dword [esp + 0x18]
movzx ebx, ax
mov dword [esp + 0x30], 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 + 0x2c]
mov dword [esp + 0x18], ecx
movzx ecx, si
mov dword [esp + 0x44], eax
xor eax, eax
mov dword [esp + 0x5c], ebx
xor esi, esi
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], eax
jmp 0x1002ce91
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x38]
cmp ebp, dword [esp + 0x6c]
jne 0x1002cea7
cmp byte [esp + 0x2a], 0
jne 0x1002d1ed
mov byte [esp + 0x2a], 1
test eax, eax
jne 0x1002d1e1
mov al, byte [ebp + 3]
mov byte [esp + 0x2b], al
movsx edi, al
mov eax, edi
neg eax
cmp byte [esp + 0x2b], 0
cmovge eax, edi
cmp eax, dword [esp + 0x60]
je 0x1002ced4
cmp ebp, dword [ebp + 0x24]
jne 0x1002d1dd
mov dword [esp + 0x84], edi
xor eax, eax
mov edi, dword [esp + 0x68]
xor esi, esi
mov dword [esp + 0x20], eax
mov eax, dword [edi + 0x2c]
cmp eax, 0x12
jge 0x1002cf0a
cmp dword [edi + 0x34], esi
jne 0x1002d0f7
lea eax, [edi + 0x48]
mov dword [edi + 0x30], 0x12
mov dword [edi + 0x34], eax
jmp 0x1002d0f7
mov ecx, dword [edi + 0x30]
mov dword [esp + 0x44], ecx
cmp eax, ecx
jl 0x1002d0f7
cmp ecx, 0x2e8ba2e
jge 0x1002d2a9
mov ebx, ecx
sar ebx, 2
add ebx, 4
add ebx, ecx
cmp ebx, ecx
jl 0x1002cf3b
cmp ebx, 0x2e8ba2e
jle 0x1002cf40
mov ebx, 0x2e8ba2e
mov eax, dword [edi + 0x34]
lea edx, [edi + 0x48]
mov dword [esp + 0x38], edx
mov dword [esp + 0x24], eax
cmp eax, edx
jne 0x1002d01e
test ebx, ebx
js 0x1002d28f
je 0x1002cffd
cmp ebx, 0x2e8ba2e
jg 0x1002d27c
mov eax, dword [esp + 0x64]
mov ecx, eax
imul edx, ebx, 0x2c
mov eax, dword [eax + 4]
call eax
mov ecx, eax
xor edx, edx
test ecx, ecx
mov dword [esp + 0x24], ecx
mov eax, 0x40
cmovne eax, edx
mov edx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
je 0x1002cfd2
mov dword [esp + 0x10], eax
test ebx, ebx
jle 0x1002cfd6
imul eax, ebx, 0x2c
push eax
push 0
push ecx
call fcn.100eae50
mov eax, dword [esp + 0x30]
mov ecx, 0xc6
mov esi, dword [esp + 0x44]
mov edx, eax
mov dword [edi + 0x34], eax
add esp, 0xc
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x68]
jmp 0x1002d0f4
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov dword [edi + 0x34], edx
cmp dword [esp + 0x10], esi
jne 0x1002d108
mov esi, dword [esp + 0x38]
mov ecx, 0xc6
mov edi, edx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x68]
jmp 0x1002d0f4
mov esi, dword [esp + 0x38]
xor edx, edx
mov dword [edi + 0x34], edx
mov ecx, 0xc6
mov edi, edx
xor eax, eax
rep movsd dword es:[edi], dword [esi]
mov edi, dword [esp + 0x68]
mov dword [esp + 0x20], eax
jmp 0x1002d0f4
mov dword [esp + 0x10], esi
test ecx, ecx
js 0x1002d2cc
test ebx, ebx
js 0x1002d2cc
je 0x1002d0da
cmp ebx, 0x2e8ba2e
jg 0x1002d2b9
imul edx, ebx, 0x2c
test ecx, ecx
jne 0x1002d07a
mov eax, dword [esp + 0x64]
mov ecx, eax
mov eax, dword [eax + 4]
call eax
mov ecx, eax
xor edx, edx
test ecx, ecx
mov dword [esp + 0x24], ecx
mov eax, 0x40
cmovne eax, edx
mov edx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], eax
je 0x1002d0c7
mov dword [esp + 0x10], eax
jmp 0x1002d09e
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
test edx, edx
je 0x1002d2a2
xor eax, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x44]
cmp ebx, ecx
jle 0x1002d0c7
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.100eae50
mov eax, dword [esp + 0x30]
add esp, 0xc
mov dword [edi + 0x34], eax
jmp 0x1002d0f4
mov ecx, dword [esp + 0x10]
mov eax, ecx
mov dword [esp + 0x20], eax
mov dword [edi + 0x34], edx
test ecx, ecx
jne 0x1002d108
jmp 0x1002d0f4
test eax, eax
je 0x1002d0eb
mov edx, eax
mov eax, dword [esp + 0x64]
mov ecx, eax
mov eax, dword [eax + 8]
call eax
xor eax, eax
mov dword [edi + 0x34], esi
mov dword [esp + 0x20], eax
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
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x1002d30b
movups xmm0, xmmword [esp + 0x8c]
mov ecx, dword [esp + 0x30]
lea ebx, [esi - 0x2c]
mov al, byte [esp + 0x2b]
test ecx, ecx
movups xmmword [esi], xmm0
cmove ebx, ecx
movups xmm0, xmmword [esp + 0x9c]
mov dword [esp + 0x30], 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 + 0x48], ebx
movzx ebx, bx
mov dword [esp + 0x34], edx
mov dword [esp + 0x18], edi
mov dword [esp + 0x44], ebx
test al, 3
je 0x1002d189
mov dword [esp + 0x2c], 0x7d00
mov dword [esp + 0x1c], 0xffff8300
jmp 0x1002d193
mov eax, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], eax
mov eax, 1
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x38], eax
cmp ebp, dword [ebp + 0x24]
jne 0x1002d1e1
mov word [esi + 2], dx
test byte [ebp], 3
je 0x1002d1b1
or byte [esi], al
movzx eax, word [ebp + 0x1c]
mov edi, dword [esp + 0x34]
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 + 0x38], eax
mov dword [esp + 0x30], ebx
jmp 0x1002ca30
mov eax, dword [esp + 0x38]
mov ebp, dword [ebp + 0x20]
mov edi, dword [esp + 0x34]
jmp 0x1002ca30
mov eax, dword [esp + 0x80]
add eax, 4
mov dword [esp + 0x80], eax
cmp eax, dword [esp + 0x88]
jb 0x1002c950
mov ebp, dword [esp + 0x68]
mov eax, dword [ebp + 0x34]
test eax, eax
je 0x1002d307
imul edx, dword [ebp + 0x2c], 0x2c
add edx, eax
cmp eax, edx
jae 0x1002d307
sub edx, eax
lea ecx, [eax + 0xa]
dec edx
mov eax, 0xba2e8ba3
mul edx
mov ebx, edx
shr ebx, 5
inc ebx
nop dword [eax + eax]
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 0x1002d2df
cmp eax, esi
jge 0x1002d265
sub esi, eax
sar esi, 1
add word [ecx], si
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 0x1c]
cmp eax, edx
jle 0x1002d2fb
sub eax, edx
sar eax, 1
add word [ecx], ax
jmp 0x1002d2fb
mov dword [edi + 0x34], esi
mov eax, 0xa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret
mov dword [edi + 0x34], esi
mov eax, 6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret
mov eax, dword [esp + 0x24]
mov dword [edi + 0x34], eax
pop edi
pop esi
pop ebp
mov eax, 0x40
pop ebx
add esp, 0xa8
ret
mov dword [edi + 0x34], eax
mov eax, 0xa
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret
mov dword [edi + 0x34], eax
mov eax, 6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret
cmp eax, esi
jle 0x1002d2ea
sub eax, esi
sar eax, 1
add word [ecx], ax
mov eax, dword [edi + 0x20]
mov eax, dword [eax + 0x1c]
cmp eax, edx
jge 0x1002d2fb
sub edx, eax
sar edx, 1
add word [ecx], dx
add ecx, 0x2c
sub ebx, 1
jne 0x1002d240
mov eax, dword [esp + 0x20]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa8
ret