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

Disassembly:
push 0xffffffffffffffff
push 0x1015cce6
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x12c
mov al, byte [0x1018c88c]
push ebx
push ebp
push esi
push edi
xor edi, edi
mov ebp, ecx
dec al
push 0x23
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x13c], edi
mov byte [esp + 0x1c], 0x40
mov byte [0x1018c88c], al
call fcn.1006f400
add esp, 4
shl al, 6
push eax
push 0xffffffffffffffe8
push 0x32
push 0x59
call fcn.10096570
mov ecx, dword [0x1018c868]
push eax
mov eax, 0x1b8
mov esi, dword [0x1018c864]
cdq
idiv ecx
mov al, byte [edx + esi]
push eax
mov eax, 0xfa
cdq
idiv ecx
mov cl, byte [edx + esi]
push ecx
call fcn.1006f390
add esp, 0x18
push eax
mov eax, 0x1a6
cdq
idiv dword [0x1018c868]
mov eax, dword [0x1018c864]
mov cl, byte [edx + eax]
push ecx
call fcn.10096570
push eax
mov eax, 0x27f
cdq
idiv dword [0x1018c868]
mov eax, dword [0x1018c864]
mov cl, byte [edx + eax]
mov dl, byte [0x1018c88c]
push ecx
push edx
call fcn.1006f390
mov byte [esp + 0x2c], al
mov eax, dword [esp + 0x2c]
push eax
mov eax, 0x52
cdq
idiv dword [0x1018c868]
mov ecx, dword [0x1018c864]
mov dl, byte [edx + ecx]
push edx
push 0xffffffffffffffce
call fcn.10096570
add esp, 0x24
mov ecx, ebp
mov byte [esp + 0x19], al
call fcn.1006f160
test al, al
je 0x100711de
mov eax, 0xffdd
mov edx, 0xffe6
mov word [esp + 0x62], ax
mov word [esp + 0x70], ax
mov word [esp + 0x74], ax
mov word [esp + 0x78], ax
mov word [esp + 0x5c], dx
mov word [esp + 0x64], dx
mov eax, 0xffe0
mov edx, 0xffe8
mov word [esp + 0x7c], ax
mov word [esp + 0x84], ax
mov al, byte [0x10197654]
mov word [esp + 0x6a], dx
mov word [esp + 0x76], dx
mov ecx, 0xffd9
mov ebx, 0xffd8
mov esi, 0xffd3
mov edx, 0xffd5
mov word [esp + 0x5e], cx
test al, 1
mov word [esp + 0x60], bx
mov word [esp + 0x66], cx
mov word [esp + 0x68], 0xffd7
mov word [esp + 0x6c], 0xffe7
mov word [esp + 0x6e], si
mov word [esp + 0x72], 0xffe2
mov word [esp + 0x7a], dx
mov word [esp + 0x7e], si
mov word [esp + 0x80], bx
mov word [esp + 0x82], cx
mov word [esp + 0x86], dx
mov word [esp + 0x88], 0xffed
jne 0x1006ff10
mov bl, al
lea eax, [esp + 0x5c]
or bl, 1
push eax
mov ecx, 0x10197658
mov byte [0x10197654], bl
call fcn.10072980
push 0x10075100
call fcn.1013c36b
add esp, 4
mov cl, byte [esp + 0x13]
mov ebx, dword [0x10197658]
mov byte [esp + 0x38], cl
push edi
lea ecx, [esp + 0x3c]
call fcn.1000bc70
push ebx
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x38]
push 1
push esi
call fcn.1000c010
test al, al
je 0x1006ff5c
mov edx, dword [esp + 0x3c]
push esi
push ebx
push edx
call fcn.100017d0
add esp, 0xc
lea ecx, [esp + 0x38]
push esi
call fcn.1000bff0
lea eax, [esp + 0x38]
push edi
push eax
mov dword [esp + 0x14c], edi
call fcn.1006a700
add esp, 8
lea ecx, [esp + 0x38]
test al, al
push 1
mov dword [esp + 0x148], 0xffffffff
sete bl
call fcn.1000bc70
test bl, bl
jne 0x100711de
call fcn.1006a910
test al, al
je 0x100711de
mov ecx, dword [esp + 0x14c]
lea edx, [esp + 0xcc]
push ecx
push edx
call fcn.10044910
add esp, 8
mov al, byte [0x1018c88c]
mov dword [esp + 0x144], 1
inc al
push eax
push 0xb
push 0xffffffffffffff8a
push 0x27
mov byte [0x1018c88c], al
call fcn.1006f390
add esp, 0xc
push eax
mov eax, dword [esp + 0x21]
push eax
call fcn.1006f390
add esp, 0xc
push eax
push 0x23
push 0xffffffffffffffc5
push 0x79
call fcn.10096570
push 0xffffffffffffffb0
mov bl, al
call fcn.1006f400
add esp, 0x10
add bl, al
push ebx
push 0x2f
call fcn.10096570
mov esi, dword [0x1018c868]
mov bl, al
mov eax, 0x3e7
mov byte [esp + 0x1f], bl
cdq
idiv esi
mov eax, 0x19d
mov ecx, dword [0x1018c864]
add esp, 0xc
mov ebx, edx
cdq
idiv esi
mov al, byte [ebx + ecx]
mov dl, byte [edx + ecx]
sub dl, al
mov al, byte [esp + 0x13]
imul dl
mov dl, 0x80
imul dl
cmp dword [esp + 0xd4], edi
jne 0x1007006f
push 1
lea ecx, [esp + 0xd0]
mov dword [esp + 0x148], 0xffffffff
call fcn.1000bc70
jmp 0x100711de
mov dl, byte [esp + 0x13]
mov dword [esp + 0x2c], edi
mov byte [esp + 0x28], dl
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dl, byte [esp + 0x13]
mov byte [esp + 0x144], 2
mov byte [esp + 0x48], dl
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
mov byte [esp + 0x144], 3
mov dl, 0x1e
mov byte [0x1018c88c], al
imul dl
push eax
mov eax, 0x39d
cdq
idiv esi
mov dword [esp + 0x24], edi
mov byte [esp + 0x92], 0xa2
mov al, byte [edx + ecx]
push eax
push 0xffffffffffffffa3
call fcn.10096570
mov esi, dword [0x1018c868]
mov cl, al
mov eax, 0x1bd
cdq
idiv esi
mov eax, 0x97
mov ebx, edx
cdq
idiv esi
mov esi, edx
mov edx, dword [0x1018c864]
mov al, byte [ebx + edx]
lea ebx, [ebp + 0x10]
imul byte [esi + edx]
sub al, 0x17
push ebx
add cl, al
mov dword [esp + 0x24], ebx
mov byte [0x1018c88c], cl
call fcn.10093730
add esp, 0x10
mov esi, dword [ebp + 4]
mov eax, dword [ebp + 8]
cmp esi, eax
mov byte [esp + 0x144], 4
je 0x10070624
lea ecx, [esi + 0x24]
mov dword [esp + 0x24], ecx
mov al, byte [esp + 0x8e]
mov cl, byte [0x1018c88c]
inc al
mov ebx, 4
mov byte [esp + 0x8e], al
sub cl, al
mov eax, 0xfff7
mov byte [0x1018c88c], cl
mov word [esp + 0xa6], ax
mov word [esp + 0xae], ax
mov eax, 0xfff1
mov ecx, 0xfff5
mov word [esp + 0xb6], ax
mov word [esp + 0xc0], ax
mov word [esp + 0xc8], ax
mov al, byte [0x1019761c]
mov word [esp + 0xb0], cx
mov word [esp + 0xb8], cx
mov ecx, 7
mov word [esp + 0xa4], bx
test al, 1
mov word [esp + 0xa8], 0xfff6
mov word [esp + 0xaa], 0xfffb
mov word [esp + 0xac], bx
mov word [esp + 0xb2], 6
mov word [esp + 0xb4], 5
mov word [esp + 0xba], cx
mov word [esp + 0xbc], bx
mov word [esp + 0xbe], bx
mov word [esp + 0xc2], di
mov word [esp + 0xc4], cx
mov word [esp + 0xc6], 0xffff
jne 0x10070237
lea edx, [esp + 0xa4]
or al, 1
push edx
mov ecx, 0x10197620
mov byte [0x1019761c], al
call fcn.10072a90
push 0x10075130
call fcn.1013c36b
add esp, 4
mov eax, dword [0x10197620]
push esi
lea ecx, [esp + 0xe0]
push eax
push ecx
call fcn.1000cdb0
add esp, 0xc
mov ebp, eax
mov eax, 0x17
mov ecx, 0xd
mov word [esp + 0x5e], ax
mov word [esp + 0x66], ax
mov word [esp + 0x6a], ax
mov eax, 7
mov word [esp + 0x6c], ax
mov word [esp + 0x76], ax
mov eax, 0x2b
mov byte [esp + 0x144], 5
mov word [esp + 0x78], ax
mov word [esp + 0x7a], ax
mov al, byte [0x10197624]
mov word [esp + 0x5c], 0x42
test al, 1
mov word [esp + 0x60], 1
mov word [esp + 0x62], cx
mov word [esp + 0x64], 0x1b
mov word [esp + 0x68], 6
mov word [esp + 0x6e], 0x2c
mov word [esp + 0x70], 0x33
mov word [esp + 0x72], cx
mov word [esp + 0x74], 0x12
mov word [esp + 0x7c], 0x1d
mov word [esp + 0x7e], bx
mov word [esp + 0x80], 8
mov word [esp + 0x82], 0x3a
jne 0x10070316
lea edx, [esp + 0x5c]
or al, 1
push edx
mov ecx, 0x10197628
mov byte [0x10197624], al
call fcn.10044620
push 0x10075140
call fcn.1013c36b
add esp, 4
mov eax, dword [0x10197628]
push esi
lea ecx, [esp + 0x3c]
push eax
push ecx
call fcn.1000cdb0
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x150], 6
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
push edx
lea ecx, [ecx + ecx*2]
lea ecx, [ecx + ecx*4]
shl ecx, 2
push ecx
push ebp
push eax
call fcn.1006abe0
add esp, 0x1c
lea ecx, [esp + 0x38]
test al, al
push 1
mov byte [esp + 0x148], 5
sete bl
call fcn.1000bc70
push 1
lea ecx, [esp + 0xe0]
mov byte [esp + 0x148], 4
call fcn.1000bc70
test bl, bl
jne 0x10070603
mov ebp, dword [esp + 0x24]
mov ecx, dword [0x10191a54]
lea edx, [esp + 0xcc]
lea eax, [ebp + 0x28]
push edx
push eax
call fcn.10058e80
mov ecx, eax
call fcn.100e4c90
cmp eax, 2
jne 0x10070607
mov ebx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
lea ecx, [esp + 0xcc]
push edi
push ecx
push ebx
push eax
call fcn.1000d360
add esp, 0x10
cmp eax, ebx
je 0x100703fa
mov ecx, dword [eax + 8]
mov eax, dword [eax + 4]
cmp eax, edi
jne 0x100703db
mov eax, 0x1016a1d8
mov edx, dword [esp + 0xd4]
push ecx
push eax
push edx
push edi
lea ecx, [esp + 0xdc]
call fcn.1000d2b0
cmp eax, edi
jl 0x100703fa
mov bl, 1
jmp 0x100703fc
xor bl, bl
mov cl, byte [0x1018c88c]
mov dl, byte [esp + 0x18]
mov al, cl
add al, dl
sub al, 0x5c
dec cl
push eax
push 0xffffffffffffffb9
push ecx
mov byte [0x1018c88c], cl
call fcn.1006f390
add esp, 0xc
test bl, bl
je 0x10070444
push 1
lea ecx, [esp + 0x104]
call fcn.100f9db0
or dword [esp + 0x138], 1
mov byte [esp + 0x144], 7
jmp 0x10070480
mov ecx, dword [esp + 0x14c]
mov edx, dword [ebp + 0x14]
lea eax, [ebp + 0x18]
push eax
push ecx
lea eax, [esp + 0x128]
push edx
push eax
call fcn.100fc300
mov ecx, dword [esp + 0x148]
add esp, 0x10
or ecx, 2
mov dword [esp + 0x138], ecx
mov dword [esp + 0x144], 8
mov ecx, dword [eax]
add eax, 4
mov dword [esp + 0xec], ecx
push eax
lea ecx, [esp + 0xf4]
call fcn.1005ef60
mov ebx, dword [esp + 0x138]
mov eax, 0xc
test bl, 2
mov dword [esp + 0x144], eax
je 0x100704ce
and ebx, 0xfffffffd
mov dword [esp + 0x138], ebx
lea ecx, [esp + 0x124]
mov dword [esp + 0x144], eax
call fcn.10023eb0
test bl, 1
mov dword [esp + 0x144], 0xb
je 0x100704fc
and ebx, 0xfffffffe
mov dword [esp + 0x138], ebx
lea ecx, [esp + 0x104]
mov byte [esp + 0x144], 0xb
call fcn.10023eb0
mov eax, 0x3dc
cdq
idiv dword [0x1018c868]
mov eax, dword [0x1018c864]
mov cl, byte [edx + eax]
push ecx
call fcn.1006f400
mov dl, al
mov al, byte [0x1018c88c]
mov cl, 0x37
add esp, 4
imul cl
sub al, dl
lea ecx, [esp + 0xec]
sub al, 0x56
mov byte [esp + 0x18], al
call fcn.100fa3f0
cmp eax, 1
je 0x10070556
lea ecx, [esp + 0xf0]
mov byte [esp + 0x144], 4
call fcn.10023eb0
jmp 0x10070607
mov edx, dword [esp + 0x30]
push esi
push 1
push edx
lea ecx, [esp + 0x34]
call fcn.10073330
mov ecx, dword [esp + 0x50]
lea eax, [esp + 0xec]
push eax
push 1
push ecx
lea ecx, [esp + 0x54]
call fcn.100736a0
mov ecx, dword [ebp]
cmp ecx, edi
jne 0x1007058a
xor eax, eax
jmp 0x10070592
mov eax, dword [ebp + 4]
sub eax, ecx
sar eax, 4
mov ecx, dword [esp + 0x20]
add ecx, eax
mov eax, 0x326
cdq
idiv dword [0x1018c868]
mov eax, dword [0x1018c864]
mov dword [esp + 0x20], ecx
mov cl, 0x45
mov al, byte [edx + eax]
imul cl
mov byte [esp + 0x18], al
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0xf4]
push edx
push eax
lea ecx, [esp + 0xf8]
mov byte [esp + 0x14c], 4
call fcn.100242a0
mov ecx, dword [esp + 0xf4]
push ecx
call fcn.101307a0
add esp, 4
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf8], edi
mov dword [esp + 0xfc], edi
jmp 0x10070607
mov ebp, dword [esp + 0x24]
mov edx, dword [esp + 0x58]
add esi, 0x5c
add ebp, 0x5c
mov eax, dword [edx + 8]
mov dword [esp + 0x24], ebp
cmp esi, eax
jne 0x1007012f
mov ebx, dword [esp + 0x14]
push ebx
mov byte [esp + 0x148], 3
call fcn.10072d60
mov eax, dword [esp + 0x24]
add esp, 4
cmp eax, edi
jne 0x100706d7
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
cmp esi, ebx
mov byte [esp + 0x144], 2
je 0x10070668
push edi
mov ecx, esi
call fcn.100741b0
add esi, 0x14
cmp esi, ebx
jne 0x10070655
mov esi, dword [esp + 0x4c]
push esi
call fcn.101307a0
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
add esp, 4
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
cmp esi, ebx
mov byte [esp + 0x144], 1
je 0x100706a4
push edi
mov ecx, esi
call fcn.10074190
add esi, 0x5c
cmp esi, ebx
jne 0x10070691
mov esi, dword [esp + 0x2c]
push esi
call fcn.101307a0
add esp, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
push 1
lea ecx, [esp + 0xd0]
mov dword [esp + 0x148], 0xffffffff
call fcn.1000bc70
jmp 0x100711de
mov eax, dword [esp + 0x20]
dec eax
push eax
call fcn.1002f960
mov esi, eax
mov eax, 0x14b
cdq
idiv dword [0x1018c868]
mov ebp, dword [0x1018c864]
mov eax, 0xb5
add esp, 4
mov cl, byte [esp + 0x18]
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x8c], edi
mov bl, byte [edx + ebp]
mov byte [0x1018c88c], cl
cdq
idiv dword [0x1018c868]
mov dl, byte [edx + ebp]
mov byte [0x1018c88c], dl
mov eax, dword [esp + 0x2c]
cmp eax, edi
je 0x10070815
mov ecx, dword [esp + 0x30]
sub ecx, eax
mov eax, 0xb21642c9
imul ecx
add edx, ecx
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, dword [esp + 0x24]
cmp eax, edx
jae 0x10070815
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x2c]
push 0xffffffffffffffd0
lea ebp, [edx + ecx]
mov dword [esp + 0x24], ebp
call fcn.1006f400
mov edx, dword [esp + 0x5c]
mov cl, al
mov eax, dword [esp + 0x50]
mov byte [0x1018c88c], cl
add eax, edx
add esp, 4
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0x24]
cmp eax, edi
je 0x100707a8
mov edx, dword [ebp + 0x28]
sub edx, eax
sar edx, 4
cmp esi, edx
jb 0x1007080f
mov edx, dword [ebp + 0x24]
cmp edx, edi
jne 0x100707b3
xor eax, eax
jmp 0x100707bb
mov eax, dword [ebp + 0x28]
sub eax, edx
sar eax, 4
sub esi, eax
mov eax, 0x346
cdq
idiv dword [0x1018c868]
mov ebp, dword [0x1018c864]
mov al, byte [edx + ebp]
mov dl, 0x2d
add al, cl
imul dl
mov edx, dword [esp + 0x24]
mov bl, al
mov eax, dword [esp + 0x58]
add bl, 0x43
dec cl
inc edx
mov byte [0x1018c88c], cl
mov ecx, dword [esp + 0x8c]
add ecx, 0x5c
add eax, 0x14
mov dword [esp + 0x24], edx
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x58], eax
jmp 0x10070732
mov ebp, dword [0x1018c864]
mov eax, 0x6a
push 0xffffffffffffff8f
cdq
idiv dword [0x1018c868]
mov al, byte [edx + ebp]
push eax
call fcn.1007b160
mov byte [esp + 0x20], al
mov eax, 4
mov ecx, 0xfff7
mov edx, 0xfff5
mov word [esp + 0xac], ax
mov word [esp + 0xb4], ax
mov word [esp + 0xc4], ax
mov word [esp + 0xc6], ax
mov al, byte [0x1019761c]
mov word [esp + 0xae], cx
mov word [esp + 0xb6], cx
mov word [esp + 0xb8], dx
mov word [esp + 0xc0], dx
add esp, 8
mov ecx, 0xfff1
mov edx, 7
test al, 1
mov word [esp + 0xa8], 0xfff6
mov word [esp + 0xaa], 0xfffb
mov word [esp + 0xb2], 6
mov word [esp + 0xb4], 5
mov word [esp + 0xb6], cx
mov word [esp + 0xba], dx
mov word [esp + 0xc0], cx
mov word [esp + 0xc2], di
mov word [esp + 0xc4], dx
mov word [esp + 0xc6], 0xffff
mov word [esp + 0xc8], cx
jne 0x1007091d
lea ecx, [esp + 0xa4]
or al, 1
push ecx
mov ecx, 0x10197620
mov byte [0x1019761c], al
call fcn.10072a90
push 0x10075130
call fcn.1013c36b
add esp, 4
mov edx, dword [esp + 0x20]
mov eax, dword [0x10197620]
push edx
lea ecx, [esp + 0xe0]
push eax
push ecx
call fcn.1000cdb0
add esp, 0xc
mov ebp, eax
mov eax, 0x17
mov ecx, 0xd
mov word [esp + 0x5e], ax
mov word [esp + 0x66], ax
mov word [esp + 0x6a], ax
mov eax, 7
mov word [esp + 0x6c], ax
mov word [esp + 0x76], ax
mov eax, 0x2b
mov byte [esp + 0x144], 0x11
mov word [esp + 0x78], ax
mov word [esp + 0x7a], ax
mov al, byte [0x10197624]
mov word [esp + 0x5c], 0x42
test al, 1
mov word [esp + 0x60], 1
mov word [esp + 0x62], cx
mov word [esp + 0x64], 0x1b
mov word [esp + 0x68], 6
mov word [esp + 0x6e], 0x2c
mov word [esp + 0x70], 0x33
mov word [esp + 0x72], cx
mov word [esp + 0x74], 0x12
mov word [esp + 0x7c], 0x1d
mov word [esp + 0x7e], 4
mov word [esp + 0x80], 8
mov word [esp + 0x82], 0x3a
jne 0x10070a06
mov cl, al
lea edx, [esp + 0x5c]
or cl, 1
push edx
mov byte [0x10197624], cl
mov ecx, 0x10197628
call fcn.10044620
push 0x10075140
call fcn.1013c36b
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [0x10197628]
push eax
lea edx, [esp + 0x3c]
push ecx
push edx
call fcn.1000cdb0
push ebp
push eax
mov byte [esp + 0x158], 0x12
call fcn.1006ad40
add esp, 0x14
lea ecx, [esp + 0x38]
mov byte [esp + 0x144], 0x11
push 1
call fcn.1000bc70
push 1
lea ecx, [esp + 0xe0]
mov byte [esp + 0x148], 3
call fcn.1000bc70
mov ebp, dword [esp + 0x20]
dec bl
mov byte [0x1018c88c], bl
push edi
mov eax, dword [ebp + 0x24]
lea ecx, [esp + 0x98]
shl esi, 4
add esi, eax
mov al, byte [esi]
mov byte [esp + 0x98], al
call fcn.1000bc70
mov ecx, dword [0x1016a210]
push ecx
push edi
push esi
lea ecx, [esp + 0xa0]
call fcn.1000ba60
mov eax, 0x1bf
mov byte [esp + 0x144], 0x13
cdq
idiv dword [0x1018c868]
mov eax, dword [0x1018c864]
mov cl, byte [edx + eax]
mov dl, byte [esp + 0x18]
add cl, bl
lea eax, [esp + 0x94]
add cl, dl
mov edx, dword [esp + 0x14]
dec bl
push edx
push eax
mov byte [0x1018c88c], cl
mov byte [esp + 0x21], bl
call fcn.100fd540
mov eax, 0xcd
mov ecx, dword [0x1018c864]
cdq
idiv dword [0x1018c868]
add esp, 8
push edi
mov al, byte [edx + ecx]
mov cl, byte [0x1018c88c]
mov dl, byte [esp + 0x17]
add al, cl
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1c], al
mov byte [esp + 0x3c], dl
call fcn.1000bc70
push 0x101913e8
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0x38]
push 1
push esi
call fcn.1000c010
test al, al
je 0x10070b4c
mov eax, dword [esp + 0x3c]
push esi
push 0x101913e8
push eax
call fcn.100017d0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x4c], esi
add esp, 0xc
mov word [ecx + esi*2], di
mov dl, byte [esp + 0x13]
mov byte [esp + 0x144], 0x14
push edi
lea ecx, [esp + 0xe0]
mov byte [esp + 0xe0], dl
call fcn.1000bc70
push 0x101913e8
call fcn.1013c2c2
add esp, 4
mov esi, eax
lea ecx, [esp + 0xdc]
push 1
push esi
call fcn.1000c010
test al, al
je 0x10070bb6
mov eax, dword [esp + 0xe0]
push esi
push 0x101913e8
push eax
call fcn.100017d0
mov ecx, dword [esp + 0xec]
mov dword [esp + 0xf0], esi
add esp, 0xc
mov word [ecx + esi*2], di
mov esi, dword [esp + 0x14c]
lea edx, [esp + 0x38]
lea eax, [esp + 0xdc]
push edx
push eax
lea ecx, [esp + 0x9c]
push esi
push ecx
mov byte [esp + 0x154], 0x15
call fcn.100eaf50
add esp, 0x10
lea ecx, [esp + 0xdc]
mov byte [esp + 0x144], 0x14
push 1
call fcn.1000bc70
push 1
lea ecx, [esp + 0x3c]
mov byte [esp + 0x148], 0x13
call fcn.1000bc70
mov cl, byte [0x1018c88c]
dec cl
mov byte [0x1018c88c], cl
mov ecx, dword [esp + 0x9c]
cmp ecx, edi
je 0x100710db
mov eax, dword [esp + 0xd0]
cmp eax, edi
jne 0x10070c39
mov eax, 0x1016a1d8
mov edx, dword [esp + 0xd4]
push edx
push eax
push ecx
push edi
lea ecx, [esp + 0xa4]
call fcn.1000d2b0
cmp eax, edi
je 0x100710db
mov al, byte [esp + 0x18]
push 0x101913e8
mov byte [0x1018c88c], al
dec al
mov byte [esp + 0x1c], al
mov al, byte [esp + 0x17]
mov byte [esp + 0x3c], al
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x38]
push eax
push 0x101913e8
call fcn.1000bf40
mov edx, dword [esi]
lea eax, [esp + 0x38]
lea ecx, [esp + 0x94]
push eax
push ecx
mov ecx, esi
mov byte [esp + 0x14c], 0x17
call dword [edx + 0x30]
mov esi, eax
mov eax, dword [esp + 0x3c]
cmp eax, edi
mov byte [esp + 0x144], 0x13
je 0x10070ce4
mov cl, byte [eax - 1]
test cl, cl
je 0x10070cd8
cmp cl, 0xff
je 0x10070cd8
dec cl
mov byte [eax - 1], cl
jmp 0x10070ce4
add eax, 0xfffffffe
push eax
call fcn.101307a0
add esp, 4
cmp esi, edi
mov byte [0x1018c88c], bl
je 0x10070e2c
mov edx, dword [esp + 0x19]
push edx
push 0x72
push 0x50
push 0x4c
call fcn.1006f3b0
mov cl, al
mov eax, 0x366
cdq
idiv dword [0x1018c868]
mov al, cl
mov ecx, dword [0x1018c864]
add esp, 0xc
imul byte [edx + ecx]
sub al, byte [esp + 0x1c]
push eax
push 0xffffffffffffffef
call fcn.10096570
mov dl, 0x1b
mov cl, byte [esp + 0x24]
imul dl
sub cl, al
add esp, 0xc
mov al, cl
mov ecx, dword [esp + 0x98]
dec bl
add al, bl
xor ebx, ebx
mov byte [0x1018c88c], al
cmp ecx, ebx
mov byte [esp + 0x144], 3
je 0x10070d75
mov al, byte [ecx - 1]
test al, al
je 0x10070d69
cmp al, 0xff
je 0x10070d69
dec al
mov byte [ecx - 1], al
jmp 0x10070d75
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
cmp esi, edi
mov byte [esp + 0x144], 2
mov dword [esp + 0x14], esi
je 0x10070dc1
lea ecx, [esi + 4]
mov byte [esp + 0x144], 2
call fcn.10023eb0
add esi, 0x14
cmp esi, edi
mov dword [esp + 0x14], esi
jne 0x10070da2
mov esi, dword [esp + 0x4c]
push esi
call fcn.101307a0
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
add esp, 4
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], ebx
cmp esi, eax
mov byte [esp + 0x144], 1
mov edi, eax
je 0x10070dfe
mov ecx, esi
call fcn.10072820
add esi, 0x5c
cmp esi, edi
jne 0x10070dec
mov esi, dword [esp + 0x2c]
push esi
call fcn.101307a0
mov ecx, dword [esp + 0xd4]
add esp, 4
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x144], 0xffffffff
cmp ecx, ebx
jmp 0x100711be
call fcn.1006a740
mov eax, 0x49
mov ecx, 0x56
mov word [esp + 0x102], ax
mov word [esp + 0x10a], ax
mov eax, 0x57
mov word [esp + 0x100], cx
mov word [esp + 0x110], ax
mov word [esp + 0x114], ax
mov word [esp + 0x11c], ax
mov al, byte [0x1019762c]
mov word [esp + 0x108], cx
mov ecx, 0x58
test al, 1
mov word [esp + 0x104], 0x48
mov word [esp + 0x106], 0x4d
mov word [esp + 0x10c], 0x47
mov word [esp + 0x10e], cx
mov word [esp + 0x112], 0x43
mov word [esp + 0x116], cx
mov word [esp + 0x118], 0x45
mov word [esp + 0x11a], cx
jne 0x10070f36
mov bl, al
push 0x20
or bl, 1
mov byte [0x1019762c], bl
call fcn.1013c2df
add esp, 4
mov dword [0x10197630], eax
xor ebx, ebx
mov si, word [esp + ebx + 0x100]
push 0x1c
mov eax, esi
mov ecx, 0x10197630
and eax, 0xffff
push eax
call fcn.1002ea10
mov ecx, dword [0x10197630]
sub esi, eax
add esi, 0x1c
mov word [ebx + ecx], si
add ebx, 2
cmp ebx, 0x1e
jb 0x10070eec
mov edx, dword [0x10197630]
push 0x10075160
mov word [edx + 0x1e], di
call fcn.1013c36b
add esp, 4
mov esi, dword [0x10197630]
mov al, byte [esp + 0x13]
push esi
mov byte [esp + 0x3c], al
mov dword [esp + 0x40], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], edi
call fcn.1013c2c2
add esp, 4
lea ecx, [esp + 0x38]
push eax
push esi
call fcn.1000bf40
push 1
lea ecx, [esp + 0x3c]
push ebp
push ecx
mov byte [esp + 0x150], 0x19
call fcn.1006adb0
mov ecx, dword [esp + 0x48]
add esp, 0xc
cmp ecx, edi
mov byte [esp + 0x144], 0x13
je 0x10070faa
mov al, byte [ecx - 1]
test al, al
je 0x10070f9e
cmp al, 0xff
je 0x10070f9e
dec al
mov byte [ecx - 1], al
jmp 0x10070faa
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov eax, 0x181
cdq
idiv dword [0x1018c868]
mov eax, dword [0x1018c864]
mov cl, byte [edx + eax]
mov dl, byte [0x1018c88c]
add dl, cl
mov ecx, dword [esp + 0x98]
mov byte [0x1018c88c], dl
cmp ecx, edi
mov byte [esp + 0x144], 3
je 0x10070ffd
mov al, byte [ecx - 1]
test al, al
je 0x10070ff1
cmp al, 0xff
je 0x10070ff1
dec al
mov byte [ecx - 1], al
jmp 0x10070ffd
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edi
cmp esi, ebx
mov byte [esp + 0x144], 2
mov dword [esp + 0x14], esi
je 0x10071049
lea ecx, [esi + 4]
mov byte [esp + 0x144], 2
call fcn.10023eb0
add esi, 0x14
cmp esi, ebx
mov dword [esp + 0x14], esi
jne 0x1007102a
mov esi, dword [esp + 0x4c]
push esi
call fcn.101307a0
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
add esp, 4
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
cmp esi, eax
mov byte [esp + 0x144], 1
mov ebx, eax
je 0x10071086
mov ecx, esi
call fcn.10072820
add esi, 0x5c
cmp esi, ebx
jne 0x10071074
mov esi, dword [esp + 0x2c]
push esi
call fcn.101307a0
mov ecx, dword [esp + 0xd4]
add esp, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
cmp ecx, edi
mov dword [esp + 0x144], 0xffffffff
je 0x100710d4
mov al, byte [ecx - 1]
test al, al
je 0x100710c8
cmp al, 0xff
je 0x100710c8
dec al
mov byte [ecx - 1], al
mov al, 1
jmp 0x100711e0
add ecx, 0xfffffffe
push ecx
call fcn.101307a0
add esp, 4
mov al, 1
jmp 0x100711e0
mov ecx, dword [esp + 0x98]
mov byte [esp + 0x144], 3
cmp ecx, edi
je 0x1007110c
mov al, byte [ecx - 1]
test al, al
je 0x10071100
cmp al, 0xff
je 0x10071100
dec al
mov byte [ecx - 1], al
jmp 0x1007110c
lea eax, [ecx - 2]
push eax
call fcn.101307a0
add esp, 4
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0xa0], edi
cmp esi, ebx
mov byte [esp + 0x144], 2
mov dword [esp + 0x14], esi
je 0x10071158
lea ecx, [esi + 4]
mov byte [esp + 0x144], 2
call fcn.10023eb0
add esi, 0x14
cmp esi, ebx
mov dword [esp + 0x14], esi
jne 0x10071139
mov esi, dword [esp + 0x4c]
push esi
call fcn.101307a0
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x30]
add esp, 4
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], edi
cmp esi, eax
mov byte [esp + 0x144], 1
mov ebx, eax
je 0x10071195
mov ecx, esi
call fcn.10072820
add esi, 0x5c
cmp esi, ebx
jne 0x10071183
mov esi, dword [esp + 0x2c]
push esi
call fcn.101307a0
mov ecx, dword [esp + 0xd4]
add esp, 4
mov dword [esp + 0x2c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x144], 0xffffffff
cmp ecx, edi
je 0x100711de
mov al, byte [ecx - 1]
test al, al
je 0x100711d2
cmp al, 0xff
je 0x100711d2
dec al
mov byte [ecx - 1], al
jmp 0x100711de
add ecx, 0xfffffffe
push ecx
call fcn.101307a0
add esp, 4
xor al, al
mov ecx, dword [esp + 0x13c]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x138
ret 4