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

Disassembly:
sub esp, 0x4c
mov ecx, dword [esp + 0x78]
mov eax, ecx
xor eax, 0x1968
mov edx, dword [esp + 0x64]
movzx eax, ax
mov dword [esp + 0x24], eax
movzx eax, byte [0x1005340e]
push ebx
mov ebx, dword [esp + 0x74]
push ebp
imul ebp, eax, 0xd91
push esi
mov esi, dword [esp + 0x64]
push edi
mov di, word [esp + 0x6c]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x84]
mov dword [esp + 0x1c], 0x309
movzx eax, word [ebp + 0x197e]
mov dword [esp + 0x2c], eax
mov eax, ecx
and eax, 0x12b6
mov dword [esp + 0x30], eax
movzx eax, word [edx + 0x18ee]
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x6f74]
xor eax, 0x41a
mov edx, dword [esp + 0x70]
mov dword [esp + 0x18], eax
movzx eax, word [ebx + 0x2e6c]
and eax, 0x9c3
mov dword [esp + 0x38], eax
mov ax, word [0x10053410]
inc ax
mov word [0x10053410], ax
movzx eax, ax
mov eax, dword [esi + eax*4]
mov dword [esp + 0x3c], eax
mov eax, dword [0x10053400]
mov dword [esp + 0x14], eax
movzx eax, word [ebx + 0xda4]
xor eax, dword [edx + 0xb4c]
inc word [ebx]
mov dword [esp + 0x48], eax
movzx eax, word [ebx]
lea eax, [eax + eax*2]
movzx ebp, word [ebp + eax*2]
movzx eax, byte [0x1005340b]
add ebp, dword [edx + eax*4]
mov al, byte [0x100533ff]
movzx edx, al
inc al
mov byte [0x100533ff], al
mov eax, 0x4b6
mov dword [esp + 0x20], ebp
mov dword [esp + 0x40], edx
xor edx, edx
movzx ebp, di
div ebp
movzx edx, word [ebx]
movzx eax, ax
mov dword [esp + 0x44], eax
lea eax, [ecx*4]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x6c], eax
mov eax, edx
add eax, eax
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x6c]
mov ecx, dword [ecx + eax*8]
mov eax, dword [esp + 0x78]
sub ecx, dword [eax + ebp]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
mov ecx, dword [esp + 0x38]
movzx eax, word [ebp]
movzx eax, word [ecx + eax*2]
mov ecx, eax
sub ecx, dword [esi + edx*4]
sub ecx, 0xc2e
or ecx, eax
mov edx, 0x146a
add ebx, 2
mov dword [esp + 0x80], ebx
push 0xe2f
mov eax, dword [edx]
lea eax, [eax + eax*2]
mov dword [esi + eax*4], ecx
mov ecx, 0xffff
mov ax, word [0x10053450]
add ax, cx
mov byte [0x1005340b], 0x6f
mov word [0x10053450], ax
movzx eax, ax
lea esi, [ebx + eax*2]
mov eax, dword [esp + 0x78]
movzx ecx, word [esi]
mov ebx, dword [esp + 0x74]
movzx eax, word [eax + 0xfe4]
sub eax, 0x1d9a
cdq
idiv ecx
mov word [esi], dx
mov eax, dword [0x10053424]
mov edx, dword [esp + 0x24]
movzx esi, word [ebp]
add esi, esi
movzx ecx, word [edx + eax*2]
mov eax, dword [0x100533f8]
add eax, 0x18c2
add eax, ecx
cdq
idiv dword [ebx + esi*8]
mov eax, dword [esp + 0x34]
mov dword [ebx + esi*8], edx
xor edx, edx
movzx eax, byte [eax + 0x484]
and ax, di
movzx eax, ax
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x8c]
lea ecx, [eax + eax*2]
movzx eax, word [0x10053410]
shl ecx, 2
mov dword [esp + 0x5c], ecx
movzx ebp, word [eax + eax + 0xe0]
xor ebp, dword [ecx + ebx]
mov ecx, 0x176e
mov eax, dword [esp + 0x24]
movzx eax, word [eax + 0x2a2]
div ecx
mov ecx, dword [esp + 0x14]
mov ebx, edx
mov edx, dword [esp + 0x70]
movzx eax, word [ecx]
sub ecx, 2
mov dword [esp + 0x14], ecx
movzx edi, word [edx + eax*2]
mov eax, dword [0x10053434]
or edi, 0x16a5
mov esi, eax
dec eax
mov dword [0x10053434], eax
and esi, 0x1cbc
mov eax, dword [esp + 0x18]
movzx ecx, word [ecx]
mov edx, dword [eax]
mov eax, dword [0x10053448]
add edx, edx
movzx eax, word [eax + ecx*4]
mov ecx, dword [esp + 0x28]
sub ax, word [ecx + edx*8]
movzx ecx, ax
mov eax, dword [esp + 0x84]
movzx eax, word [eax + 0x3478]
push eax
push ecx
push esi
push edi
push ebx
push ebp
push dword [esp + 0x44]
call fcn.1000bf80
mov ecx, dword [0x10053424]
add esp, 0x20
mov edx, dword [esp + 0x30]
mov ebp, dword [esp + 0x80]
mov byte [ecx + edx], al
mov ecx, dword [0x100533d8]
mov edx, dword [esp + 0x20]
dec ecx
mov dword [0x100533d8], ecx
movzx eax, word [ebp]
movzx eax, word [edx + eax*2]
mov edx, dword [esp + 0x3c]
cmp eax, dword [edx + ecx*4]
jne 0x100082e6
mov ecx, dword [esp + 0x78]
mov eax, dword [0x10053420]
cmp eax, dword [ecx + 0x5aac]
jbe 0x100082e6
mov eax, dword [esp + 0x64]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x28], eax
mov edx, dword [esp + 0x88]
mov ebx, edx
mov dword [esp + 0x80], ebx
cmp edx, 0x1a79
jle 0x1000850a
mov ecx, dword [esp + 0x3c]
lea eax, [edx*4]
add eax, ecx
mov esi, edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x20], eax
mov eax, 0x146a
sub eax, edx
shl esi, 4
mov dword [esp + 0x50], eax
add esi, edx
mov eax, dword [esp + 0x70]
sub eax, ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x4c], eax
nop word [eax + eax]
mov ecx, dword [esp + 0x18]
add dword [esp + 0x18], 2
movzx eax, word [ecx]
mov cx, word [ebp + eax*2]
mov eax, 0x17db
and cx, ax
mov eax, 0xb0e
movzx ecx, cx
imul ecx, eax
mov word [0x10053408], cx
movzx eax, word [ebp]
mov ecx, dword [esp + 0x6c]
mov eax, dword [edx + eax*4]
xor edx, edx
movzx ecx, word [ecx + 0x930]
or eax, ebx
imul eax, dword [esp + 0x28]
div ecx
mov ecx, dword [esp + 0x50]
xor edx, edx
add dword [0x100533d8], eax
movzx eax, word [ebx + ebx + 0xe0]
sub eax, ebx
mov dword [ecx + esi], eax
mov ecx, 0x54c9
inc word [edi]
movzx eax, word [edi]
mov eax, dword [eax*4 + 0x146a]
sub eax, 0xdcb
div dword [ecx]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x68]
mov dword [esi], eax
mov eax, dword [esp + 0x4c]
movzx edi, word [0x10053450]
sub ebx, dword [eax + ecx]
mov eax, 0xffff
add word [ebp], ax
movzx esi, word [ebp]
mov eax, esi
add eax, eax
mov eax, dword [edx + eax*8]
xor edx, edx
div dword [ecx]
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
add ecx, edx
dec edx
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x14]
push dword [edx + esi*4]
push ecx
push eax
push 1
push edi
push dword [esp + 0x9c]
push ebx
call fcn.10005370
mov ebx, dword [esp + 0x9c]
add esp, 0x1c
mov esi, dword [esp + 0x3c]
inc ebx
add dword [esp + 0x20], 4
add esi, 0x10
mov word [0x1005343c], ax
mov dword [esp + 0x80], ebx
mov dword [esp + 0x3c], esi
cmp ebx, 0x1a79
jle 0x10008503
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x68]
jmp 0x100081d0
mov eax, dword [esp + 0x10]
mov ebx, 0x309
mov ecx, dword [esp + 0x2c]
xor edx, edx
mov esi, dword [esp + 0x40]
push 0x400
movzx eax, word [eax]
mov ecx, dword [ecx + eax*4]
imul ecx, dword [eax*4 + 0x1d1d]
movzx eax, word [ebx]
movzx eax, word [eax + eax + 0x309]
sub ecx, eax
mov eax, dword [0x10053444]
or ecx, 0x8e
sub ecx, dword [0x10053400]
mov dword [0x10053400], ecx
movzx ecx, word [ebx]
movzx eax, word [eax + ecx*8]
add dword [0x10053434], eax
mov eax, 0x146a
mov ecx, dword [esp + 0x28]
mov eax, dword [eax]
mov edi, dword [ecx + eax*4]
inc word [ebp]
movzx eax, word [ebp]
mov ecx, dword [esp + 0x74]
mov esi, dword [esi + eax*4]
add esi, dword [ecx + eax*4]
mov ecx, dword [esp + 0x68]
mov eax, ecx
div dword [esp + 0x80]
mov edx, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x2c], ecx
imul ecx, dword [edx + 0x848], 0x1551
push ecx
push 0x1b00
push eax
push esi
push 0xdcb
push edi
call fcn.10005370
mov ecx, dword [0x1005342c]
mov edx, dword [esp + 0xa8]
mov edi, dword [esp + 0x30]
mov dword [esp + 0x38], 0x30b
mov dword [edx + ecx*4], eax
mov ecx, 0x1c09
movzx eax, word [ebx]
mov edx, 0xffff
add cx, word [edi + eax*4]
movzx eax, cx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x6c], eax
mov eax, dword [0x100533d8]
add eax, eax
mov ebp, dword [ecx + eax*8]
mov ax, word [0x10053410]
add ax, dx
mov dword [esp + 0x68], ebp
mov edx, dword [esp + 0x7c]
mov word [0x10053410], ax
movzx ebx, ax
mov eax, dword [esp + 0x2c]
movzx eax, word [eax]
movzx edi, word [edx + eax*2]
mov edx, 0xeed
mov eax, dword [esp + 0x9c]
movzx eax, word [eax]
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*4]
mov cl, byte [0x100533fe]
movzx eax, cl
add ax, dx
inc cl
movzx edx, ax
mov eax, dword [esp + 0x2c]
mov byte [0x100533fe], cl
mov ecx, dword [esp + 0x3c]
movzx eax, word [eax]
movzx ecx, word [ecx + eax*2]
mov eax, dword [esp + 0x9c]
mov ebp, dword [esp + 0x64]
movzx eax, word [eax]
mov eax, dword [ebp + eax*4]
mov ebp, dword [esp + 0x68]
add eax, 0x8e
push eax
push ecx
push edx
push esi
push edi
push ebx
push ebp
push dword [esp + 0x88]
call fcn.1000bf80
mov ebp, dword [esp + 0xbc]
add esp, 0x3c
mov edi, dword [esp + 0x10]
mov word [0x1005340c], ax
movzx eax, word [ebp]
movzx ecx, word [eax + eax + 0xe0]
movzx eax, word [edi]
cmp ecx, dword [eax*4 + 0x1d1d]
jbe 0x10008175
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x8c]
dec dword [eax]
mov ecx, dword [eax]
movzx eax, word [0x3bdf]
cmp dword [ebx + ecx*4], eax
ja 0x10008175
mov eax, dword [esp + 0x1c]
mov ecx, 0xffff
add word [eax], cx
mov si, word [eax]
movzx ecx, byte [0x1005340a]
mov eax, dword [0x10053430]
lea edx, [eax + ecx*4]
movzx eax, word [edi]
mov ecx, dword [esp + 0x18]
pop edi
movzx ecx, word [ecx + eax*2]
movzx eax, word [ebp]
mov eax, dword [ebx + eax*4]
or eax, 0x1777
add ecx, eax
movzx eax, si
mov esi, dword [esp + 0x74]
imul ecx, dword [esi + eax*4]
mov eax, 0xaa8
pop esi
pop ebp
pop ebx
xor dword [edx], ecx
add esp, 0x4c
ret
mov edx, dword [esp + 0x88]
mov ecx, dword [esp + 0x68]
mov eax, 0x146a
mov esi, dword [0x10053404]
mov eax, dword [eax]
lea eax, [eax + eax*2]
cmp dword [ecx + eax*4], esi
jg 0x100088b5
mov eax, dword [esp + 0x44]
cmp ax, word [esp + 0x34]
jne 0x100088b5
movzx ebx, word [ebp]
movzx eax, word [0x10053408]
cmp eax, dword [ecx + ebx*4]
jg 0x100088b5
cmp esi, 0x1d24
jne 0x10008578
mov eax, dword [0x10053434]
mov esi, dword [esp + 0x78]
movzx ecx, byte [0x100533fe]
cmp ecx, dword [esi + eax*4]
je 0x10008578
mov eax, dword [esp + 0x8c]
cmp dword [eax + ebx*4], 0x72
je 0x100089ec
mov edi, dword [esp + 0x6c]
mov eax, 0x1a73
movzx ecx, word [edi + edx*8]
imul ecx, eax
mov eax, 0x2a76
mov edx, dword [esp + 0x70]
add cx, ax
mov eax, 0x146a
or word [ebx + ebx + 0xe0], cx
mov ecx, dword [esp + 0x1c]
mov eax, dword [eax]
lea esi, [ecx + eax*8]
movzx eax, word [ecx + 0x31f4]
movzx ecx, word [ebp]
or eax, 0xe1f
add ecx, ecx
imul eax, dword [edx + ecx*8]
movzx ecx, word [esi]
cdq
idiv ecx
mov ecx, dword [esp + 0x34]
mov word [esi], dx
mov esi, dword [esp + 0x10]
movzx ebx, cx
mov ecx, dword [esp + 0x70]
movzx edx, word [esi]
mov eax, edx
add ebx, dword [ecx + eax*4]
mov eax, 0x146a
mov eax, dword [eax]
mov cl, byte [edi + eax*2]
mov eax, dword [0x100533d4]
xor cl, byte [eax + 0x708]
lea eax, [edx - 1]
mov word [esi], ax
mov edx, dword [esp + 0x84]
mov byte [esp + 0x80], cl
movzx ecx, ax
mov eax, dword [esp + 0x30]
movzx eax, byte [ecx + eax]
mov byte [esp + 0x70], al
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
movzx edi, word [eax + eax + 0xe0]
mov eax, dword [esp + 0x18]
movzx eax, word [eax + ecx*2]
add edi, eax
movzx eax, byte [0x1005340a]
movzx esi, word [edx + eax*8]
movzx eax, word [ebp]
movzx edx, word [eax + eax + 0xe0]
mov eax, dword [esp + 0x74]
movzx eax, word [eax + ecx*2]
and edx, eax
mov eax, 0xffff
add word [ebp - 2], ax
movzx eax, word [ebp - 2]
mov eax, dword [eax*4 + 0x146a]
and eax, dword [esp + 0x88]
push eax
push edx
push dword [esp + 0x5c]
push esi
push edi
push dword [esp + 0x84]
push dword [esp + 0x98]
push ebx
push 0x22d
call section..text
mov dword [0x100533f8], eax
mov eax, dword [0x10053420]
mov esi, eax
inc eax
mov dword [0x10053420], eax
mov al, byte [0x100533fe]
movzx ecx, al
dec al
mov byte [0x100533fe], al
mov eax, dword [esp + 0x34]
movzx eax, word [eax]
add eax, eax
mov edx, dword [esp + 0x9c]
mov edi, dword [esp + 0x38]
mov eax, dword [edx + eax*8]
xor edx, edx
div dword [edi + 0x3454]
mov byte [esp + 0x94], al
push dword [esp + 0x94]
push ecx
push esi
call fcn.10002d90
mov ecx, dword [esp + 0x5c]
add esp, 0x30
mov edx, dword [esp + 0x58]
mov dword [edx + ecx], eax
mov ecx, dword [0x100533f4]
mov ebx, ecx
cmp ebx, dword [esp + 0x28]
ja 0x10008838
mov edx, dword [esp + 0x24]
mov eax, ebx
mov edi, dword [esp + 0x40]
shl eax, 4
add eax, edx
mov dword [esp + 0x70], eax
mov eax, 0x1cc8
sub eax, edi
lea esi, [edi + ebx*4]
sub dword [esp + 0x78], edx
mov dword [esp + 0x80], esi
mov dword [esp + 0x68], eax
nop
lea eax, [ebx + 0x19]
and al, cl
add byte [0x1005340e], al
movzx eax, word [ebp + 0x756]
cdq
idiv ebx
push ebx
mov edi, eax
mov eax, dword [esp + 0x6c]
mov esi, dword [eax + esi]
mov eax, dword [esp + 0x20]
imul esi, ebx
movzx ecx, word [eax]
mov eax, dword [esp + 0x70]
movzx edx, word [eax + ecx*8]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x74]
mov ecx, dword [eax + ecx]
mov eax, dword [esp + 0x18]
or ecx, dword [eax + 0x5a74]
mov al, bl
push ecx
push edx
push 0x3d8
push ebx
add al, al
movzx eax, al
push eax
push dword [esp + 0xa0]
push esi
push edi
call section..text
mov ecx, dword [0x10053400]
mov edx, dword [esp + 0x48]
add ecx, ecx
mov edi, dword [esp + 0x50]
mov dword [edx + ecx*8], eax
mov ecx, dword [esp + 0x40]
mov eax, dword [0x10053404]
mov dword [0x10053428], eax
movzx eax, word [ecx]
movzx esi, word [ecx + eax*8]
mov eax, dword [0x10053400]
mov edx, eax
mov ecx, dword [esp + 0x84]
dec eax
mov dword [0x10053400], eax
movzx eax, byte [0x1005340a]
movzx ecx, word [ecx + eax*2]
movzx eax, word [ebp - 2]
add eax, eax
mov eax, dword [edi + eax*8]
add eax, ebx
push eax
push 0x871
push ebx
push ebx
push ecx
push 0xdcb
push edx
push esi
call fcn.1000bf80
mov ecx, dword [esp + 0xb4]
inc ebx
mov esi, dword [esp + 0xc4]
add esp, 0x44
mov byte [0x1005340b], al
mov eax, dword [ecx]
add ecx, 0x10
mov dword [esi], eax
add esi, 4
mov dword [esp + 0x70], ecx
mov dword [esp + 0x80], esi
cmp ebx, dword [esp + 0x28]
ja 0x10008838
mov ecx, dword [0x100533f4]
jmp 0x10008730
movzx eax, byte [0x1005340a]
xor edx, edx
mov ecx, dword [esp + 0x6c]
lea eax, [eax + eax*2]
lea esi, [ecx + eax*2]
mov eax, 0x1d68ec6
movzx ecx, word [esi]
div ecx
mov word [esi], dx
movzx eax, byte [0x1005340a]
mov ecx, dword [0x100533ec]
mov esi, dword [eax*4 + 0x146a]
mov eax, 0x9b583739
imul ecx
add esi, 0x133a
add edx, ecx
sar edx, 0xb
mov eax, edx
shr eax, 0x1f
add eax, edx
movzx eax, al
imul eax, eax, 0x2f
sub cl, al
mov byte [esp + 0x6c], cl
push dword [esp + 0x6c]
push esi
push 0x1a9c
call fcn.10002d90
add esp, 0xc
mov dword [0x10053404], eax
mov eax, 0xaa8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret
mov eax, dword [esp + 0x14]
mov ecx, dword [0x10053434]
mov ebx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
mov esi, dword [eax]
mov eax, 0xa0a
cdq
idiv dword [ebx + ecx*4]
mov ecx, dword [esp + 0x38]
cdq
idiv dword [esi*4 + 0x1cc8]
mov dword [esi*4 + 0x1cc8], edx
movzx eax, word [edi]
movzx ecx, word [ecx + eax*2]
mov eax, dword [esp + 0x18]
movzx eax, word [eax]
mov al, byte [edi + eax*2]
add al, byte [0x1005340b]
mov byte [esp + 0x6c], al
push dword [esp + 0x6c]
mov eax, dword [esp + 0x48]
movzx eax, ax
push eax
push ecx
call fcn.10002d90
mov edx, dword [0x100533e0]
add esp, 0xc
mov ecx, dword [0x10053418]
mov ebx, dword [esp + 0x1c]
mov dword [edx + ecx*4], eax
mov edx, 0x146a
movzx eax, word [ebx]
mov esi, dword [edx]
mov edx, dword [esp + 0x74]
shl esi, 4
add esi, dword [0x100533d4]
movzx ecx, word [edx + eax*8]
add eax, eax
mov edx, dword [esp + 0x70]
mov eax, dword [edx + eax*8]
cdq
idiv ecx
mov eax, 0x146a
add dword [esi], edx
mov edx, dword [esp + 0x84]
mov eax, dword [eax]
mov ax, word [eax*8 + 0xe0]
cmp ax, word [edx + 0x3ce]
ja 0x100089ec
movzx eax, word [0x100533fc]
xor edx, edx
mov ecx, dword [esp + 0x70]
lea ecx, [ecx + eax*4]
mov eax, dword [esp + 0x34]
movzx eax, ax
xor eax, dword [0x1005342c]
add dword [ecx], eax
movzx eax, word [ebp]
mov ecx, dword [esp + 0x60]
lea eax, [eax + eax*2]
lea esi, [ecx + eax*2]
movzx eax, word [edi]
lea ecx, [eax + eax*2]
mov eax, 0xdcb
div dword [ecx*4 + 0xf75]
mov ecx, dword [esp + 0x78]
add word [esi], ax
movzx eax, word [ebx]
add eax, eax
mov dword [ecx + eax*8], 0x206
movzx eax, word [ebp - 2]
mov ecx, dword [esp + 0x38]
lea edx, [ecx + eax*8]
mov cx, word [0x61ad]
mov eax, 0xd63
sub cx, ax
movzx eax, word [0x3f54]
movzx ecx, cx
imul ecx, eax
add word [edx], cx
pop edi
pop esi
pop ebp
mov eax, 0xaa8
pop ebx
add esp, 0x4c
ret