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

Disassembly:
sub esp, 0x4c
mov eax, dword [esp + 0x58]
push ebx
mov ebx, dword [esp + 0x68]
push ebp
mov ecx, dword [eax]
lea edx, [eax + 0x20]
mov dword [esp + 0x50], ecx
mov cl, byte [eax + 8]
mov byte [esp + 0x60], cl
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 4]
mov dword [esp + 0x24], ecx
lea ecx, [eax + 0x10]
add eax, 0x40
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 8], eax
mov eax, 4
push esi
mov esi, dword [esp + 0x68]
mov dword [esp + 0x48], eax
mov dword [ebx], esi
mov eax, dword [ecx + 0xfd0]
push edi
mov dword [esp + 0x14], edx
mov eax, dword [eax]
mov al, byte [eax + 0x9f]
test al, al
mov eax, dword [esp + 0x64]
lea edi, [eax + 0xfc]
js 0x100fe434
mov edi, dword [ecx + 0x1000]
mov ebp, dword [edi]
cmp ebp, 0xffffffff
je 0x100fe455
cmp dword [edi + 4], 0xffffffff
je 0x100fe455
cmp ebp, 0x4000
jne 0x100fe44e
cmp dword [edi + 4], ebp
je 0x100fe455
mov ebp, 1
jmp 0x100fe457
xor ebp, ebp
cmp dword [esp + 0x70], 0
je 0x100fe483
test ebp, ebp
jne 0x100fe483
mov eax, dword [esp + 0x70]
mov edi, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov edx, dword [eax + 4]
mov ecx, dword [eax]
mov dword [edi], edx
mov eax, dword [eax + 8]
mov dword [esi], eax
mov esi, dword [esp + 0x6c]
lea eax, [edx + ecx]
jmp 0x100fe4a0
mov edi, dword [esp + 0x78]
push ebp
push edi
push dword [esp + 0x84]
push edx
push dword [esp + 0x20]
push ebx
push eax
push ecx
call fcn.101058f0
add esp, 0x20
cmp byte [esp + 0x68], 3
mov dword [esp + 0x70], eax
je 0x100ff5f8
mov edx, dword [esp + 0x80]
mov eax, dword [ebx]
test edx, edx
je 0x100fe4d2
cmp word [edx], ax
jne 0x100fe4d0
mov ecx, eax
shr ecx, 0x10
cmp word [edx + 2], cx
je 0x100ff07f
mov dword [edx], eax
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x48], 1
test edx, edx
je 0x100fe647
cmp dword [edx], 0x7fffffff
je 0x100fe647
mov ecx, dword [edx + 4]
cmp ecx, 0x7fffffff
je 0x100fe647
cmp dword [edx + 8], 0x7fffffff
je 0x100fe647
mov eax, dword [edx + 0xc]
mov dword [esp + 0x44], eax
cmp eax, 0x7fffffff
je 0x100fe647
mov eax, dword [edx + 0x10]
mov dword [esp + 0x1c], eax
cmp eax, 0x7fffffff
je 0x100fe647
cmp dword [edx], ecx
jge 0x100fe647
mov edi, dword [edx + 8]
cmp dword [edx], edi
mov edi, dword [esp + 0x78]
jge 0x100fe647
mov ebx, dword [edx + 0xc]
cmp dword [edx], ebx
mov ebx, dword [esp + 0x74]
jge 0x100fe647
cmp dword [edx], eax
jge 0x100fe647
mov eax, dword [edx]
add eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x44]
sub eax, dword [esp + 0x30]
add eax, ecx
sub ecx, dword [esp + 0x44]
mov dword [esp + 0x20], eax
cdq
sub eax, edx
mov dword [esp + 0x24], ecx
mov edx, eax
mov eax, dword [esp + 0x24]
sar edx, 1
xor ecx, dword [esp + 0x20]
jns 0x100fe593
sub eax, edx
jmp 0x100fe595
add eax, edx
cdq
idiv dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x1c]
mov edx, ecx
sub edx, dword [esp + 0x30]
sub ecx, eax
add edx, eax
mov dword [esp + 0x20], edx
mov eax, edx
cdq
sub eax, edx
mov edx, eax
mov eax, ecx
sar edx, 1
xor ecx, dword [esp + 0x20]
jns 0x100fe5cc
sub eax, edx
jmp 0x100fe5ce
add eax, edx
cdq
idiv dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
jne 0x100fe5e3
test ecx, ecx
je 0x100feaf9
lea eax, [esi + eax*4]
mov word [esp + 0x30], ax
lea eax, [ecx*4]
add ax, word [esp + 0x6e]
mov dword [esp + 0x6c], 0
mov word [esp + 0x32], ax
lea eax, [esp + 0x6c]
push ebp
push eax
push edi
push dword [esp + 0x88]
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x44]
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
add esp, 0x30
jmp 0x100feaf9
mov ax, word [esp + 0x6e]
push ebp
sub ax, 4
mov word [esp + 0x34], si
mov word [esp + 0x36], ax
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x88]
lea eax, [esp + 0x80]
mov dword [esp + 0x2c], 0
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x48]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
push ebp
mov cx, word [esp + 0xa2]
mov dword [esp + 0x78], eax
add cx, 4
lea eax, [esp + 0x50]
mov word [esp + 0x60], si
push eax
push edi
push dword [esp + 0xb8]
lea eax, [esp + 0xb0]
mov word [esp + 0x6e], cx
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x74]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
add esp, 0x60
mov dword [esp + 0x40], eax
mov ax, word [esp + 0x6e]
lea ecx, [esi - 4]
mov word [esp + 0x22], ax
lea eax, [esp + 0x1c]
mov word [esp + 0x20], cx
push ebp
push eax
push edi
push dword [esp + 0x88]
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x38]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
mov dword [esp + 0x54], eax
lea ecx, [esi + 4]
mov ax, word [esp + 0x9e]
push ebp
mov word [esp + 0x6a], ax
lea eax, [esp + 0x50]
push eax
push edi
push dword [esp + 0xb8]
lea eax, [esp + 0xb0]
mov word [esp + 0x74], cx
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x7c]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
mov ecx, dword [esp + 0xa4]
add esp, 0x60
cmp eax, dword [esp + 0x24]
mov edx, dword [esp + 0x40]
sbb eax, eax
and eax, 8
add eax, 0xfffffffc
cmp edx, ecx
movzx eax, ax
sbb edi, edi
movzx eax, ax
and edi, 0x80000
add edi, 0xfffc0000
or edi, eax
cmp edx, ecx
push ebp
sbb eax, eax
and eax, 8
add eax, 0xfffffffc
movzx ecx, ax
movzx eax, di
mov edx, eax
mov dword [esp + 0x40], ecx
add eax, esi
add cx, word [esp + 0x72]
mov word [esp + 0x3c], ax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x80]
lea eax, [esp + 0x7c]
mov dword [esp + 0x30], edx
push dword [esp + 0x88]
mov word [esp + 0x4a], cx
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x50]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
shr edi, 0x10
add esp, 0x30
cmp dword [esp + 0x28], 1
mov eax, edi
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x24]
movzx eax, ax
mov dword [esp + 0x44], eax
mov dword [esp + 0x1c], edi
jle 0x100feaf5
movzx edx, word [ebx + 2]
movsx edi, word [esp + 0x6e]
movsx ecx, si
movzx esi, word [ebx]
movzx eax, si
movzx ebx, dx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], eax
movzx eax, si
movzx ebx, dx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], eax
movsx ebx, dx
movsx eax, si
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x20], edx
mov dword [esp + 0x6c], 0
cmp ecx, eax
je 0x100fea19
cmp edi, dword [esp + 0x38]
mov edi, dword [esp + 0x78]
push ebp
je 0x100fe956
mov eax, dword [esp + 0x40]
add eax, edx
mov word [esp + 0x3c], si
mov word [esp + 0x3e], ax
mov eax, dword [esp + 0x28]
add eax, esi
mov word [esp + 0x3a], dx
mov esi, dword [esp + 0x80]
mov word [esp + 0x38], ax
lea eax, [esp + 0x70]
push eax
push edi
push esi
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x50]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
push ebp
lea eax, [esp + 0xa0]
push eax
push edi
push esi
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x7c]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
add esp, 0x60
jmp 0x100feaf9
mov eax, dword [esp + 0x48]
movzx ecx, ax
mov eax, dword [esp + 0x44]
movzx esi, ax
mov eax, dword [esp + 0x38]
add eax, ecx
movzx ecx, ax
lea eax, [edx + 4]
mov word [esp + 0x3e], ax
lea eax, [edx - 4]
mov word [esp + 0x3a], ax
lea eax, [esp + 0x70]
push eax
push edi
push dword [esp + 0x88]
lea eax, [esp + 0x80]
mov word [esp + 0x48], cx
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x50]
mov word [esp + 0x4c], cx
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
push ebp
lea eax, [esp + 0xa0]
push eax
push edi
push dword [esp + 0xb8]
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x7c]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
mov eax, dword [esp + 0x8c]
add esp, 0x60
mov word [esp + 0x30], ax
mov eax, dword [esp + 0x20]
sub eax, esi
jmp 0x100fe5ff
cmp edi, dword [esp + 0x38]
mov edi, dword [esp + 0x78]
je 0x100feaf9
lea eax, [esi + 4]
mov word [esp + 0x38], ax
mov eax, dword [esp + 0x3c]
add eax, edx
mov word [esp + 0x3a], ax
lea eax, [esi - 4]
mov esi, dword [esp + 0x7c]
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0x30]
add eax, dword [esp + 0x1c]
push ebp
mov word [esp + 0x42], ax
lea eax, [esp + 0x70]
push eax
push edi
push esi
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x50]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
push ebp
lea eax, [esp + 0xa0]
push eax
push edi
push esi
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x84]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
mov eax, dword [esp + 0xb0]
add esp, 0x60
sub eax, dword [esp + 0x24]
mov word [esp + 0x34], ax
mov eax, dword [esp + 0x54]
mov word [esp + 0x36], ax
lea eax, [esp + 0x6c]
push ebp
push eax
push edi
lea eax, [esp + 0x7c]
push esi
push eax
lea eax, [esp + 0x48]
jmp 0x100fe61e
mov edi, dword [esp + 0x78]
mov al, byte [esp + 0x68]
cmp al, 2
jae 0x100ff047
mov edx, dword [esp + 0x80]
mov eax, dword [ebx]
test edx, edx
je 0x100feb2a
cmp word [edx + 4], ax
jne 0x100feb27
mov ecx, eax
shr ecx, 0x10
cmp word [edx + 6], cx
je 0x100ff07f
mov dword [edx + 4], eax
mov esi, dword [ebx]
mov eax, 2
mov dword [esp + 0x4c], eax
mov eax, esi
shr eax, 0x10
push ebp
mov dword [esp + 0x30], eax
add eax, 0xfffffffe
mov word [esp + 0x42], ax
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x88]
lea eax, [esp + 0x80]
movzx ecx, si
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x54]
mov dword [esp + 0x60], 2
push dword [esp + 0x28]
mov dword [esp + 0x88], esi
push dword [esp + 0x34]
mov dword [esp + 0x40], ecx
push ebx
push eax
push dword [esp + 0x8c]
mov word [esp + 0x68], si
push dword [esp + 0x8c]
mov dword [esp + 0x4c], 0
call fcn.10101980
push ebp
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x88], eax
add ecx, 2
lea eax, [esp + 0x50]
mov word [esp + 0x6c], si
push eax
push edi
push dword [esp + 0xb8]
lea eax, [esp + 0xb0]
mov word [esp + 0x7a], cx
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x80]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
add esp, 0x60
mov ecx, dword [esp + 0x20]
mov si, word [esp + 0x6e]
add ecx, 0xfffffffe
mov dword [esp + 0x24], eax
lea eax, [esp + 0x1c]
mov word [esp + 0x34], cx
push ebp
push eax
push edi
push dword [esp + 0x88]
lea eax, [esp + 0x80]
mov word [esp + 0x46], si
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x4c]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
mov ecx, dword [esp + 0x50]
add ecx, 2
mov dword [esp + 0x9c], eax
mov word [esp + 0x60], cx
lea eax, [esp + 0x4c]
mov word [esp + 0x62], si
push ebp
push eax
push edi
push dword [esp + 0xb8]
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x78]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
mov ebx, dword [esp + 0xb4]
add esp, 0x60
cmp eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x2c]
sbb eax, eax
movzx ecx, dx
and eax, 4
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x20]
add eax, 0xfffffffe
cmp dword [esp + 0x24], ebx
movzx eax, ax
sbb esi, esi
movzx eax, ax
and esi, 0x40000
movzx ecx, cx
add esi, 0xfffe0000
mov dword [esp + 0x54], ecx
or esi, eax
cmp dword [esp + 0x24], ebx
push ebp
sbb eax, eax
and eax, 4
add eax, 0xfffffffe
movzx ecx, ax
movzx eax, si
mov ebx, eax
mov dword [esp + 0x48], ecx
add eax, dword [esp + 0x24]
mov word [esp + 0x44], ax
lea eax, [ecx + edx]
mov word [esp + 0x46], ax
lea eax, [esp + 0x20]
push eax
push edi
push dword [esp + 0x88]
lea eax, [esp + 0x80]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x84]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x58]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
shr esi, 0x10
add esp, 0x30
cmp dword [esp + 0x28], 1
mov eax, esi
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x24]
movzx eax, ax
mov dword [esp + 0x74], eax
mov dword [esp + 0x3c], esi
jle 0x100ff043
movzx ecx, word [ebx]
mov eax, ecx
movzx edx, word [ebx + 2]
mov esi, edx
mov dword [esp + 0x38], eax
mov eax, edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x34], eax
mov dword [esp + 0x6c], 0
cmp word [esp + 0x54], cx
je 0x100fef47
push ebp
cmp word [esp + 0x30], dx
je 0x100fee59
mov eax, dword [esp + 0x48]
mov esi, dword [esp + 0x80]
add eax, edx
mov word [esp + 0x7a], ax
mov eax, dword [esp + 0x28]
add eax, ecx
mov word [esp + 0x78], cx
mov word [esp + 0x44], ax
lea eax, [esp + 0x70]
push eax
push edi
push esi
lea eax, [esp + 0x80]
mov word [esp + 0x52], dx
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x8c]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
push ebp
lea eax, [esp + 0xa0]
push eax
push edi
push esi
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x88]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
add esp, 0x60
jmp 0x100ff043
mov eax, dword [esp + 0x78]
movzx ecx, ax
mov eax, dword [esp + 0x54]
movzx esi, ax
mov eax, dword [esp + 0x44]
add eax, ecx
movzx ecx, ax
lea eax, [edx + 2]
mov word [esp + 0x7a], ax
lea eax, [edx - 2]
mov word [esp + 0x46], ax
lea eax, [esp + 0x70]
push eax
push edi
push dword [esp + 0x88]
lea eax, [esp + 0x80]
mov word [esp + 0x84], cx
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x8c]
mov word [esp + 0x58], cx
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
push ebp
lea eax, [esp + 0xa0]
push eax
push edi
push dword [esp + 0xb8]
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x88]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
mov eax, dword [esp + 0x98]
add esp, 0x60
mov ecx, dword [esp + 0x34]
mov word [esp + 0x3c], ax
movzx eax, cx
sub eax, esi
mov word [esp + 0x3e], ax
lea eax, [esp + 0x6c]
push ebp
push eax
push edi
push dword [esp + 0x88]
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x50]
jmp 0x100ff01f
cmp word [esp + 0x2c], dx
je 0x100ff043
lea eax, [ecx + 2]
mov word [esp + 0x74], ax
mov eax, dword [esp + 0x44]
add eax, edx
mov word [esp + 0x76], ax
lea eax, [ecx - 2]
mov word [esp + 0x44], ax
mov eax, dword [esp + 0x3c]
push ebp
add eax, esi
mov esi, dword [esp + 0x80]
mov word [esp + 0x4a], ax
lea eax, [esp + 0x70]
push eax
push edi
push esi
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x8c]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
push ebp
lea eax, [esp + 0xa0]
push eax
push edi
push esi
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x8c]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
mov eax, dword [esp + 0x98]
add esp, 0x60
sub eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x34]
mov word [esp + 0x40], ax
lea eax, [esp + 0x6c]
push ebp
push eax
push edi
lea eax, [esp + 0x7c]
mov word [esp + 0x4e], cx
push esi
push eax
lea eax, [esp + 0x54]
push dword [esp + 0x28]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
add esp, 0x30
mov al, byte [esp + 0x68]
cmp dword [esp + 0x58], 0
je 0x100ff5f4
test al, al
jne 0x100ff5f4
mov ecx, dword [esp + 0x80]
mov eax, dword [ebx]
test ecx, ecx
je 0x100ff08e
mov edx, dword [esp + 0x48]
cmp word [ecx + edx*4], ax
lea edx, [ecx + edx*4]
jne 0x100ff08c
mov ecx, eax
shr ecx, 0x10
cmp word [edx + 2], cx
jne 0x100ff08c
pop edi
pop esi
pop ebp
mov eax, closesocket
pop ebx
add esp, 0x4c
ret
mov dword [edx], eax
mov edx, dword [esp + 0x4c]
mov esi, dword [ebx]
mov ecx, esi
push ebp
shr edx, 1
movzx edi, dx
movzx eax, si
mov dword [esp + 0x6c], eax
mov eax, edi
mov dword [esp + 0x58], eax
mov dword [esp + 0x40], eax
lea eax, [esp + 0x78]
push eax
push dword [esp + 0x80]
lea eax, [esp + 0x7c]
shr ecx, 0x10
push dword [esp + 0x88]
mov dword [esp + 0x30], ecx
sub ecx, edi
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x64]
mov dword [esp + 0x84], esi
push dword [esp + 0x28]
mov word [esp + 0x68], si
push dword [esp + 0x34]
mov dword [esp + 0x44], edi
push ebx
push eax
push dword [esp + 0x8c]
mov word [esp + 0x7a], cx
push dword [esp + 0x8c]
mov dword [esp + 0xa4], 0
call fcn.10101980
push ebp
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x68], eax
add ecx, edi
lea eax, [esp + 0xa8]
mov word [esp + 0x7c], si
push eax
push dword [esp + 0xb0]
lea eax, [esp + 0xac]
mov word [esp + 0x86], cx
push dword [esp + 0xb8]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x90]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
add esp, 0x60
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x38], eax
sub ecx, edi
mov si, word [esp + 0x6e]
lea eax, [esp + 0x74]
mov word [esp + 0x44], cx
push ebp
push eax
push dword [esp + 0x80]
lea eax, [esp + 0x7c]
mov word [esp + 0x52], si
push dword [esp + 0x88]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x5c]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x9c], eax
add ecx, edi
push ebp
lea eax, [esp + 0xa8]
mov word [esp + 0x74], cx
push eax
push dword [esp + 0xb0]
lea eax, [esp + 0xac]
mov word [esp + 0x7e], si
push dword [esp + 0xb8]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0x88]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
mov ecx, dword [esp + 0x98]
neg edi
add esp, 0x60
movzx esi, di
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x58], eax
cmp dword [esp + 0x34], ecx
ja 0x100ff25a
cmp dword [esp + 0x6c], eax
mov edx, esi
movzx ecx, di
cmova edx, ecx
movzx edx, dx
jmp 0x100ff26d
mov edx, dword [esp + 0x58]
mov ecx, esi
cmp dword [esp + 0x6c], edx
movzx eax, di
cmova ecx, eax
movzx edx, cx
mov eax, dword [esp + 0x54]
mov ecx, esi
mov esi, dword [esp + 0x38]
cmp dword [esp + 0x34], esi
mov edi, dword [esp + 0x20]
movzx eax, ax
cmova ecx, eax
movzx eax, dx
movzx esi, cx
shl esi, 0x10
or esi, eax
mov dword [esp + 0x3c], ecx
movzx eax, si
mov dword [esp + 0x38], eax
add eax, dword [esp + 0x68]
push ebp
mov word [esp + 0x34], ax
lea eax, [ecx + edi]
mov edi, dword [esp + 0x7c]
mov word [esp + 0x36], ax
lea eax, [esp + 0x78]
push eax
push edi
push dword [esp + 0x88]
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x48]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
mov eax, dword [esp + 0x6c]
add esp, 0x30
cmp dword [esp + 0x28], 1
movzx ecx, ax
mov dword [esp + 0x58], ecx
movzx ecx, si
mov dword [esp + 0x74], ecx
movzx ecx, ax
mov dword [esp + 0x4c], ecx
jle 0x100ff5f4
movzx ecx, word [ebx]
mov edi, dword [esp + 0x68]
mov edx, ecx
mov dword [esp + 0x48], edx
movzx edx, word [ebx + 2]
mov esi, edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x44], esi
movzx esi, di
mov edi, dword [esp + 0x78]
mov dword [esp + 0x50], edx
mov dword [esp + 0x6c], 0
cmp si, cx
je 0x100ff4eb
mov edi, dword [esp + 0x20]
movzx esi, di
mov edi, dword [esp + 0x78]
push ebp
cmp si, dx
je 0x100ff405
mov esi, dword [esp + 0x80]
add eax, edx
mov word [esp + 0x7a], ax
mov eax, dword [esp + 0x3c]
add eax, ecx
mov word [esp + 0x78], cx
mov word [esp + 0x6c], ax
lea eax, [esp + 0x70]
push eax
push edi
push esi
lea eax, [esp + 0x80]
mov word [esp + 0x7a], dx
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x8c]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
push ebp
lea eax, [esp + 0xa0]
push eax
push edi
push esi
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0xb0]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
mov eax, dword [esp + 0xd0]
add esp, 0x60
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x78]
movzx ecx, ax
mov eax, dword [esp + 0x5c]
movzx esi, ax
mov eax, dword [esp + 0x58]
add eax, ecx
movzx ecx, ax
mov eax, dword [esp + 0x28]
add eax, edx
mov word [esp + 0x78], cx
sub edx, dword [esp + 0x28]
mov word [esp + 0x7a], ax
lea eax, [esp + 0x70]
push eax
push edi
push dword [esp + 0x88]
lea eax, [esp + 0x80]
mov word [esp + 0x78], cx
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x8c]
mov word [esp + 0x82], dx
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
push ebp
lea eax, [esp + 0xa0]
push eax
push edi
push dword [esp + 0xb8]
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0xb0]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
mov eax, dword [esp + 0xa8]
add esp, 0x60
mov ecx, dword [esp + 0x44]
mov word [esp + 0x4c], ax
movzx eax, cx
sub eax, esi
push ebp
mov word [esp + 0x52], ax
lea eax, [esp + 0x70]
push eax
push edi
push dword [esp + 0x88]
jmp 0x100ff5c4
mov eax, dword [esp + 0x20]
movzx esi, ax
cmp si, dx
je 0x100ff5f4
mov esi, dword [esp + 0x24]
push ebp
lea eax, [ecx + esi]
sub ecx, esi
mov esi, dword [esp + 0x80]
mov word [esp + 0x78], ax
mov eax, dword [esp + 0x40]
add eax, edx
mov word [esp + 0x6c], cx
mov word [esp + 0x7a], ax
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x50]
mov word [esp + 0x6e], ax
lea eax, [esp + 0x70]
push eax
push edi
push esi
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x8c]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
push ebp
lea eax, [esp + 0xa0]
push eax
push edi
push esi
lea eax, [esp + 0xb0]
push eax
push dword [esp + 0x58]
lea eax, [esp + 0xb0]
push dword [esp + 0x58]
push dword [esp + 0x64]
push ebx
push eax
push dword [esp + 0xbc]
push dword [esp + 0xbc]
call fcn.10101980
mov eax, dword [esp + 0xa8]
add esp, 0x60
sub eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x44]
mov word [esp + 0x4c], ax
lea eax, [esp + 0x6c]
push ebp
push eax
push edi
mov word [esp + 0x5a], cx
push esi
lea eax, [esp + 0x80]
push eax
push dword [esp + 0x28]
lea eax, [esp + 0x64]
push dword [esp + 0x28]
push dword [esp + 0x34]
push ebx
push eax
push dword [esp + 0x8c]
push dword [esp + 0x8c]
call fcn.10101980
add esp, 0x30
mov eax, dword [esp + 0x70]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret