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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x84
mov eax, dword [0x1070dd84]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x84], eax
push ebx
mov ebx, dword [ebp + 0xc]
push esi
push edi
mov dword [ebp - 0x4c], ebx
mov eax, dword [ebx + 0xc]
mov edx, dword [ebx + 0x30]
mov esi, dword [ebx + 0x34]
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x6c], 0
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x48], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x70], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x74], eax
lea eax, [ebx + 0x64]
mov dword [ebp - 0x34], eax
mov eax, dword [ebx + 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp + 8]
shr eax, 0x10
movsx edi, ax
cmp edi, edx
jge 0x1021bd9b
mov word [ebp + 0xa], dx
jmp 0x1021bdae
mov ecx, eax
cmp edi, esi
movzx eax, si
mov edx, edi
cmovg ecx, eax
cmovg edx, esi
mov word [ebp + 0xa], cx
movsx esi, word [ebp + 8]
mov ecx, dword [ebx + 0x38]
mov edi, dword [ebx + 0x3c]
cmp esi, ecx
jge 0x1021bdc2
mov word [ebp + 8], cx
jmp 0x1021bdd6
cmp esi, edi
movzx ecx, si
movzx eax, di
cmovg ecx, eax
mov word [ebp + 8], cx
mov ecx, esi
cmovg ecx, edi
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
push dword [ebp - 0x48]
mov esi, dword [eax + 0xbb0]
mov eax, dword [ebp - 0x64]
sub esi, dword [ebp + 0x10]
mov dword [eax], 0
mov eax, dword [ebp + 8]
mov dword [edi], eax
movsx eax, cx
mov ecx, dword [ebp - 0x38]
imul eax, dword [ecx + 0x10]
mov dword [ebp - 0x44], eax
movsx eax, dx
mov edx, dword [ebp - 0x44]
add edx, eax
add edx, dword [ecx]
push edx
push dword [ebp - 0x60]
mov dword [ebp - 0x44], edx
push ebx
call fcn.1021cf80
push dword [ebp - 0x34]
mov ebx, eax
push edi
call fcn.1021d320
mov ecx, dword [ebp - 0x2c]
add ebx, eax
add esp, 0x18
mov dword [ebp - 0x3c], ebx
cmp esi, 2
jle 0x1021be41
mov eax, dword [ecx + esi*4 + 0xc04]
mov dword [ebp - 0x5c], eax
jmp 0x1021be48
mov dword [ebp - 0x5c], 1
add esi, 0xffffffff
mov dword [ebp - 0x58], esi
js 0x1021c34b
nop dword [eax]
nop dword [eax + eax]
imul edx, esi, 0x88
mov dword [ebp - 0x54], 0
add edx, ecx
mov dword [ebp - 0x50], edx
test esi, esi
jle 0x1021be80
mov eax, dword [ecx + esi*4 + 0xc08]
mov dword [ebp - 0x5c], eax
movsx esi, word [edx + 0x10]
xor ebx, ebx
movsx eax, word [edx + 0x22]
movsx ecx, word [edi + 2]
mov edx, dword [ebp - 0x4c]
add eax, ecx
movsx edi, word [edi]
add esi, edi
cmp eax, dword [edx + 0x34]
mov eax, dword [ebp - 0x50]
setle bl
movsx eax, word [eax + 0x1a]
add eax, ecx
xor ecx, ecx
cmp eax, dword [edx + 0x30]
mov eax, dword [ebp - 0x4c]
setge cl
xor edx, edx
and ebx, ecx
cmp esi, dword [eax + 0x3c]
mov eax, dword [ebp - 0x50]
cmovle edx, ebx
xor ecx, ecx
mov ebx, dword [ebp - 0x4c]
movsx eax, word [eax + 8]
add eax, edi
cmp eax, dword [ebx + 0x38]
setge cl
test ecx, edx
je 0x1021c0b5
cmp dword [ebp - 0x70], 0
jne 0x1021c0b5
cmp dword [ebp - 0x74], 0
jne 0x1021c0b5
mov eax, dword [ebp - 0x60]
mov esi, dword [ebp - 0x58]
mov dword [ebp - 0x28], 1
mov ecx, dword [eax]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x68], edx
lea eax, [eax + esi*4]
add eax, 0xbb4
mov dword [ebp - 0x7c], eax
cmp dword [eax], 1
jl 0x1021c2e6
mov esi, dword [ebp - 0x50]
add esi, 0x14
mov dword [ebp - 0x38], esi
mov edi, dword [ebp - 0x44]
mov eax, dword [esi - 8]
add eax, edi
mov dword [ebp - 0x14], eax
mov eax, dword [esi]
add eax, edi
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 8]
add eax, edi
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x10]
add eax, edi
mov dword [ebp - 8], eax
lea eax, [ebp - 0x24]
push eax
push dword [ebp - 0x48]
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebx + 0x88]
push edx
push ecx
call eax
mov ecx, dword [ebp - 0x3c]
add esp, 0x14
xor edi, edi
add esi, 0xfffffff4
mov dword [ebp - 0x34], esi
nop dword [eax]
cmp dword [ebp + edi*4 - 0x24], ecx
jae 0x1021c07a
mov edx, dword [ebp - 0x30]
movzx eax, word [esi]
add ax, word [edx]
movzx ecx, ax
movzx eax, word [esi + 2]
add ax, word [edx + 2]
sub cx, word [ebx + 0x68]
movzx edx, ax
sub dx, word [ebx + 0x6a]
movzx eax, byte [ebx + 0x6c]
shl cx, 3
shl dx, 3
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x40], edx
cmp eax, 4
ja case.0x1021bfb4.4
jmp dword [eax*4 + 0x1021c360]
xor esi, esi
mov eax, 2
test cx, cx
mov ecx, dword [ebx + 0x70]
cmovne esi, eax
xor eax, eax
test dx, dx
movsx edx, dx
setne al
or esi, eax
mov eax, dword [ebx + 0x78]
mov ecx, dword [ecx + esi*4]
add ecx, dword [eax + edx*4]
mov eax, dword [ebp - 0x78]
mov esi, dword [ebp - 0x34]
movsx edx, ax
mov eax, dword [ebx + 0x74]
add ecx, dword [eax + edx*4]
imul ecx, dword [ebx + 0x80]
add ecx, 0x100
shr ecx, 9
jmp 0x1021c05c
movsx eax, cx
cdq
mov ecx, eax
mov eax, dword [ebp - 0x40]
xor ecx, edx
cwde
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
add ecx, eax
shl ecx, 5
sar ecx, 3
jmp 0x1021c05c
movsx eax, cx
cdq
mov esi, eax
mov eax, dword [ebp - 0x40]
xor esi, edx
cwde
sub esi, edx
cdq
xor eax, edx
sub eax, edx
add esi, eax
mov ecx, esi
shl ecx, 4
sub ecx, esi
mov esi, dword [ebp - 0x34]
sar ecx, 3
jmp 0x1021c05c
movsx eax, cx
cdq
mov ecx, eax
mov eax, dword [ebp - 0x40]
xor ecx, edx
cwde
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
add ecx, eax
jmp 0x1021c05c
xor ecx, ecx
mov eax, dword [ebp + edi*4 - 0x24]
add eax, ecx
mov ecx, dword [ebp - 0x3c]
cmp eax, ecx
jae 0x1021c07a
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x28]
lea ecx, [edi + eax]
mov dword [ebp - 0x54], ecx
mov ecx, dword [ebp - 0x3c]
jmp 0x1021c07d
mov eax, dword [ebp - 0x28]
inc edi
add esi, 8
mov dword [ebp - 0x34], esi
cmp edi, 4
jl 0x1021bf70
mov ecx, dword [ebp - 0x7c]
add eax, 4
mov esi, dword [ebp - 0x38]
mov edx, dword [ebp - 0x68]
add esi, 0x20
mov dword [ebp - 0x28], eax
cmp eax, dword [ecx]
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x38], esi
jle 0x1021bf24
mov esi, dword [ebp - 0x58]
jmp 0x1021c2a3
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], 1
cmp dword [eax + esi*4 + 0xbb4], 1
jl 0x1021c2e1
mov eax, dword [ebp - 0x50]
mov edx, dword [ebp - 0x30]
add eax, 0xc
mov edi, dword [ebp - 0x2c]
mov dword [ebp - 0x38], eax
nop
movzx eax, word [eax - 4]
add ax, word [edx]
mov ecx, dword [ebp - 0x38]
movzx esi, ax
movzx eax, word [ecx - 2]
add ax, word [edx + 2]
movzx eax, ax
mov dword [ebp - 0x68], eax
cwde
cmp eax, dword [ebx + 0x30]
jl 0x1021c283
cmp eax, dword [ebx + 0x34]
jg 0x1021c283
movsx eax, si
cmp eax, dword [ebx + 0x38]
jl 0x1021c283
cmp eax, dword [ebx + 0x3c]
jg 0x1021c283
mov eax, dword [ecx]
mov ecx, dword [ebp - 0x60]
add eax, dword [ebp - 0x44]
cmp dword [ebx + 0x14], 0
mov edx, dword [ecx]
mov edi, dword [ecx + 0x10]
mov ecx, dword [ebx + 0x10]
je 0x1021c15b
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push ecx
push dword [ebp - 0x48]
push eax
mov eax, dword [ebx + 4]
push edi
push edx
mov eax, dword [eax + 0x24]
call eax
mov edx, eax
add esp, 0x20
mov dword [ebp - 0x40], edx
jmp 0x1021c18e
test ecx, ecx
je 0x1021c178
push ecx
push dword [ebp - 0x48]
push eax
mov eax, dword [ebx + 4]
push edi
push edx
mov eax, dword [eax + 8]
call eax
mov edx, eax
add esp, 0x14
mov dword [ebp - 0x40], edx
jmp 0x1021c18e
push dword [ebp - 0x48]
push eax
mov eax, dword [ebx + 0x84]
push edi
push edx
call eax
add esp, 0x10
mov dword [ebp - 0x40], eax
mov edx, eax
mov edi, dword [ebp - 0x3c]
cmp edx, edi
jae 0x1021c27d
sub si, word [ebx + 0x68]
mov edx, dword [ebp - 0x68]
sub dx, word [ebx + 0x6a]
movzx eax, byte [ebx + 0x6c]
shl si, 3
shl dx, 3
mov dword [ebp - 0x34], esi
cmp eax, 4
ja case.0x1021c1bc.4
jmp dword [eax*4 + 0x1021c374]
xor ebx, ebx
mov ecx, 2
test dx, dx
movsx edx, dx
setne bl
xor eax, eax
test si, si
cmovne eax, ecx
or ebx, eax
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x78]
mov esi, dword [ecx + ebx*4]
add esi, dword [eax + edx*4]
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x34]
movsx ecx, ax
mov eax, dword [ebx + 0x74]
add esi, dword [eax + ecx*4]
imul esi, dword [ebx + 0x80]
add esi, 0x100
shr esi, 9
jmp 0x1021c263
movsx eax, dx
cdq
mov esi, eax
mov eax, dword [ebp - 0x34]
xor esi, edx
cwde
sub esi, edx
cdq
xor eax, edx
sub eax, edx
add esi, eax
shl esi, 5
sar esi, 3
jmp 0x1021c263
movsx eax, dx
cdq
mov ecx, eax
movsx eax, si
xor ecx, edx
sub ecx, edx
cdq
xor eax, edx
sub eax, edx
add ecx, eax
mov esi, ecx
shl esi, 4
sub esi, ecx
sar esi, 3
jmp 0x1021c263
movsx eax, dx
cdq
mov esi, eax
mov eax, dword [ebp - 0x34]
xor esi, edx
cwde
sub esi, edx
cdq
xor eax, edx
sub eax, edx
add esi, eax
jmp 0x1021c263
xor esi, esi
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x28]
add eax, esi
mov edx, dword [ebp - 0x30]
cmp eax, edi
mov edi, dword [ebp - 0x2c]
jae 0x1021c286
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x54], ecx
jmp 0x1021c286
mov edx, dword [ebp - 0x30]
mov edi, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x28]
mov esi, dword [ebp - 0x58]
inc ecx
mov eax, dword [ebp - 0x38]
add eax, 8
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x38], eax
cmp ecx, dword [edi + esi*4 + 0xbb4]
jle 0x1021c0e0
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x1021c2e9
mov edx, dword [ebp - 0x84]
mov edi, dword [ebp - 0x30]
test edx, edx
je 0x1021c2bb
mov eax, dword [edi]
mov dword [edx], eax
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x6c], 1
movzx eax, word [edx + ecx*8]
add word [edi], ax
movzx eax, word [edx + ecx*8 + 2]
add word [edi + 2], ax
mov eax, dword [ebp - 0x44]
add eax, dword [edx + ecx*8 + 4]
mov dword [ebp - 0x44], eax
jmp 0x1021c328
mov ecx, dword [ebp - 0x54]
jmp 0x1021c2ec
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x2c]
cmp dword [ebp - 0x6c], 0
mov edx, dword [ebp - 0x64]
jne 0x1021c2f7
inc dword [edx]
test ecx, ecx
jne 0x1021c325
mov ecx, dword [ebp - 0x5c]
lea eax, [eax + esi*4]
add eax, 0xc0c
cmp ecx, dword [eax]
jne 0x1021c325
nop word [eax + eax]
cmp esi, 2
jle 0x1021c325
inc dword [edx]
sub eax, 4
dec esi
mov ecx, dword [eax - 4]
mov dword [ebp - 0x5c], ecx
cmp ecx, dword [eax]
je 0x1021c310
mov edi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
sub esi, 1
mov dword [ebp - 0x58], esi
jns 0x1021be60
mov eax, dword [ebp - 0x3c]
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.10398bef
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 4]
mov eax, ebx
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.10398bef
mov esp, ebp
pop ebp
ret