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

Disassembly:
push 0xffffffffffffffff
push 0x8537c0
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
mov eax, dword [0x8943b8]
xor eax, esp
mov dword [esp + 0xb0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x8943b8]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov ebx, dword [esp + 0xd8]
push 0x20
push 0xe
mov dword [esp + 0x20], ecx
call fcn.00839790
mov edi, dword [ebx + 8]
cmp dword [ebx + 4], edi
mov esi, eax
jbe 0x84113e
call fcn.0081ff70
mov ebp, dword [ebx + 4]
cmp ebp, dword [ebx + 8]
jbe 0x84114b
call fcn.0081ff70
sub edi, ebp
sar edi, 1
lea ebp, [ebx + 0x10]
mov dword [esi + 8], edi
mov edi, dword [ebp + 8]
cmp dword [ebp + 4], edi
mov dword [esp + 0x34], ebp
jbe 0x841166
call fcn.0081ff70
mov eax, dword [ebp + 4]
cmp eax, dword [ebp + 8]
mov dword [esp + 0x1c], eax
jbe 0x841177
call fcn.0081ff70
cmp ebp, ebp
je 0x841180
call fcn.0081ff70
sub edi, dword [esp + 0x1c]
lea eax, [ebx + 0x30]
sar edi, 1
shr edi, 1
mov dword [esi + 0xc], edi
mov edi, dword [eax + 8]
cmp dword [eax + 4], edi
mov dword [esp + 0x1c], eax
jbe 0x84119f
call fcn.0081ff70
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax + 4]
cmp ebp, dword [eax + 8]
jbe 0x8411b4
call fcn.0081ff70
mov eax, dword [esp + 0x1c]
cmp eax, eax
je 0x8411bd
call fcn.0081ff70
mov edx, dword [esp + 0x18]
sub edi, ebp
sar edi, 1
mov dword [esi + 0x10], edi
mov eax, dword [ebx + 0x24]
mov dword [esi + 0x14], eax
mov ecx, dword [ebx + 0x28]
mov dword [esi + 0x18], ecx
mov edi, dword [edx]
test dword [edi + 0x1c], 0x100000
je 0x84121b
mov edi, dword [edx + 0x34]
mov ebp, edi
and ebp, eax
cmp ebp, edi
je 0x8411f5
mov edi, dword [edx + 0x38]
mov ebp, edi
and ebp, eax
cmp ebp, edi
jne 0x8411fd
mov edi, dword [edx + 0x3c]
or edi, eax
mov dword [esi + 0x14], edi
mov eax, dword [edx + 0x34]
mov edi, eax
and edi, ecx
cmp edi, eax
je 0x841213
mov eax, dword [edx + 0x38]
mov edi, eax
and edi, ecx
cmp edi, eax
jne 0x84121b
mov eax, dword [edx + 0x3c]
or eax, ecx
mov dword [esi + 0x18], eax
mov al, byte [ebx + 0x20]
mov byte [esi + 0x1c], al
mov al, byte [ebx + 0x21]
test al, al
sete cl
mov byte [esi + 0x1d], cl
mov edx, dword [edx]
sub esi, dword [edx + 0x140]
mov edi, dword [ebx + 4]
cmp edi, dword [ebx + 8]
mov dword [esp + 0x44], esi
jbe 0x841245
call fcn.0081ff70
mov ebp, dword [ebx + 8]
cmp dword [ebx + 4], ebp
mov esi, ebx
mov dword [esp + 0x20], ebp
jbe 0x841258
call fcn.0081ff70
test esi, esi
je 0x841260
cmp esi, ebx
je 0x841265
call fcn.0081ff70
cmp edi, ebp
je 0x84134e
test esi, esi
jne 0x841276
call fcn.0081ff70
cmp edi, dword [esi + 8]
jb 0x841280
call fcn.0081ff70
mov ecx, dword [esp + 0x18]
mov esi, dword [ecx]
mov edx, dword [esi + 0x144]
xor eax, eax
cmp byte [edi + 1], al
setne al
add esi, 0x13c
add eax, 2
mov ebp, eax
mov eax, dword [esi]
sub eax, edx
cmp eax, ebp
jae 0x8412b3
sub edx, dword [esi + 4]
mov ecx, esi
add edx, ebp
call fcn.0084a6e0
mov eax, dword [esi + 8]
lea ecx, [eax + ebp]
mov dword [esi + 8], ecx
mov esi, ebx
cmp edi, dword [esi + 8]
mov dword [esp + 0x14], eax
jb 0x8412d0
call fcn.0081ff70
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov cl, byte [edi]
je 0x8412eb
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx ecx, cl
mov cl, byte [edx + ecx + 0x104]
mov byte [eax], cl
cmp edi, dword [esi + 8]
jb 0x8412fb
call fcn.0081ff70
mov eax, dword [esp + 0x14]
cmp byte [edi + 1], 0
je 0x841334
cmp edi, dword [esi + 8]
jb 0x84130f
call fcn.0081ff70
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
cmp byte [edx + 0xc], 0
mov cl, byte [edi + 1]
je 0x84132b
mov edx, dword [edx + 4]
mov edx, dword [edx]
movzx ecx, cl
mov cl, byte [edx + ecx + 0x104]
mov byte [eax + 1], cl
mov byte [eax + 2], 0
jmp 0x841338
mov byte [eax + 1], 0
cmp edi, dword [esi + 8]
jb 0x841342
call fcn.0081ff70
mov ebp, dword [esp + 0x20]
add edi, 2
jmp 0x841258
mov eax, dword [esp + 0x34]
mov esi, dword [eax + 4]
cmp esi, dword [eax + 8]
jbe 0x84135f
call fcn.0081ff70
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 8]
cmp dword [ecx + 4], eax
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], esi
mov dword [esp + 0x38], eax
jbe 0x841380
call fcn.0081ff70
lea esp, [esp]
mov ebp, dword [esp + 0x3c]
test ebp, ebp
je 0x84138e
cmp ebp, dword [esp + 0x34]
je 0x841393
call fcn.0081ff70
mov edi, dword [esp + 0x40]
cmp edi, dword [esp + 0x38]
je 0x841b65
test ebp, ebp
jne 0x8413aa
call fcn.0081ff70
cmp edi, dword [ebp + 8]
jb 0x8413b4
call fcn.0081ff70
mov esi, dword [esp + 0x18]
mov al, byte [esi + 0xc]
test al, al
mov cl, byte [edi]
mov bl, byte [edi + 1]
mov edx, dword [esi + 4]
je 0x8413d7
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov esi, dword [esp + 0x18]
test al, al
mov byte [esp + 0x24], cl
je 0x8413ed
mov edx, dword [edx]
movzx eax, bl
mov al, byte [eax + edx + 0x104]
jmp 0x8413ef
mov al, bl
cmp edi, dword [ebp + 8]
mov byte [esp + 0x25], al
jb 0x8413fd
call fcn.0081ff70
add edi, 2
cmp edi, dword [ebp + 8]
jb 0x84140a
call fcn.0081ff70
mov al, byte [esi + 0xc]
test al, al
mov cl, byte [edi]
mov edx, dword [esi + 4]
je 0x841426
mov esi, dword [edx]
movzx ecx, cl
mov cl, byte [ecx + esi + 0x104]
mov esi, dword [esp + 0x18]
test al, al
mov bl, cl
mov byte [esp + 0x2c], bl
je 0x84143f
movzx eax, byte [edi + 1]
mov edx, dword [edx]
mov al, byte [eax + edx + 0x104]
jmp 0x841442
mov al, byte [edi + 1]
cmp edi, dword [ebp + 8]
mov byte [esp + 0x2d], al
jb 0x841450
call fcn.0081ff70
add edi, 2
mov eax, 0xf
xor ebp, ebp
mov dword [esp + 0x40], edi
mov dword [esp + 0xc0], eax
mov dword [esp + 0xbc], ebp
mov byte [esp + 0xac], 0
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ebp
mov byte [esp + 0x74], 0
mov ecx, dword [esi]
test dword [ecx + 0x1c], 0x200000
mov byte [esp + 0xd0], 1
je 0x841670
mov al, byte [esp + 0x25]
mov dl, byte [esp + 0x24]
mov cl, byte [esp + 0x2d]
mov byte [esp + 0x15], al
test al, al
mov byte [esp + 0x14], dl
mov byte [esp + 0x16], 0
mov byte [esp + 0x20], bl
mov byte [esp + 0x21], cl
mov byte [esp + 0x22], 0
lea eax, [esp + 0x16]
jne 0x8414d7
lea eax, [esp + 0x15]
mov ecx, dword [esi + 4]
push eax
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x94]
push eax
call fcn.0083a0d0
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0xdc], 2
call fcn.004020d0
mov ebx, 0x10
cmp dword [esp + 0xa4], ebx
mov byte [esp + 0xd0], 1
jb 0x84152b
mov ecx, dword [esp + 0x90]
push ecx
call fcn.0081f6fa
add esp, 4
cmp byte [esp + 0x21], 0
lea eax, [esp + 0x22]
jne 0x84153a
lea eax, [esp + 0x21]
mov ecx, dword [esi + 4]
push eax
lea edx, [esp + 0x24]
push edx
lea eax, [esp + 0x94]
push eax
call fcn.0083a0d0
push 0xffffffffffffffff
push ebp
push eax
lea ecx, [esp + 0x7c]
mov byte [esp + 0xdc], 3
call fcn.004020d0
cmp dword [esp + 0xa4], ebx
mov byte [esp + 0xd0], 1
jb 0x841586
mov ecx, dword [esp + 0x90]
push ecx
call fcn.0081f6fa
add esp, 4
cmp dword [esp + 0xbc], ebp
jne 0x8415f5
mov dword [esp + 0xa4], 0xf
mov byte [esp + 0x90], 0
mov dword [esp + 0xa0], 1
mov byte [esp + 0x91], 0
push 0xffffffffffffffff
push ebp
lea edx, [esp + 0x94]
push edx
lea ecx, [esp + 0xb4]
mov byte [esp + 0xdc], 4
call fcn.004020d0
cmp dword [esp + 0xa4], ebx
mov byte [esp + 0xd0], 1
jb 0x8415f5
mov eax, dword [esp + 0x90]
push eax
call fcn.0081f6fa
add esp, 4
mov edi, dword [esp + 0x84]
cmp edi, ebp
jne 0x841887
mov dword [esp + 0xa4], 0xf
mov byte [esp + 0x90], 0
mov dword [esp + 0xa0], 1
mov byte [esp + 0x91], 0
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0x7c]
mov byte [esp + 0xdc], 5
call fcn.004020d0
cmp dword [esp + 0xa4], ebx
mov byte [esp + 0xd0], 1
jb 0x841880
mov edx, dword [esp + 0x90]
push edx
call fcn.0081f6fa
add esp, 4
jmp 0x841880
cmp byte [esp + 0x25], 0
je 0x84170d
mov edx, dword [esp + 0x24]
push edx
lea ecx, [esp + 0xb0]
push ecx
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x64]
push eax
lea ecx, [esp + 0xb8]
call fcn.0040fc00
mov edx, dword [esp + 0xc0]
cmp edx, 0x10
mov eax, dword [esp + 0xac]
mov esi, eax
jae 0x8416bd
lea esi, [esp + 0xac]
mov edi, dword [esp + 0xbc]
add esi, edi
je 0x8416ec
cmp edx, 0x10
mov ecx, eax
jae 0x8416d6
lea ecx, [esp + 0xac]
cmp ecx, esi
ja 0x8416ec
cmp edx, 0x10
jae 0x8416e6
lea eax, [esp + 0xac]
add eax, edi
cmp esi, eax
jbe 0x8416f1
call fcn.0081ff70
mov ecx, dword [esp + 0x25]
push ecx
lea eax, [esp + 0xac]
push esi
push eax
lea edx, [esp + 0x54]
push edx
mov ecx, eax
call fcn.0040fc00
jmp 0x841777
mov al, byte [esp + 0x24]
mov dword [esp + 0xa4], 0xf
mov byte [esp + 0x90], al
mov dword [esp + 0xa0], 1
mov byte [esp + 0x91], 0
push 0xffffffffffffffff
push ebp
lea ecx, [esp + 0x94]
push ecx
lea ecx, [esp + 0xb4]
mov byte [esp + 0xdc], 6
call fcn.004020d0
cmp dword [esp + 0xa4], 0x10
mov byte [esp + 0xd0], 1
jb 0x841777
mov edx, dword [esp + 0x90]
push edx
call fcn.0081f6fa
add esp, 4
cmp byte [esp + 0x2d], 0
mov eax, dword [esp + 0x74]
mov edi, dword [esp + 0x88]
mov esi, eax
je 0x84182b
cmp edi, 0x10
jae 0x841798
lea esi, [esp + 0x74]
mov edx, dword [esp + 0x84]
add esi, edx
je 0x8417c1
cmp edi, 0x10
mov ecx, eax
jae 0x8417ae
lea ecx, [esp + 0x74]
cmp ecx, esi
ja 0x8417c1
cmp edi, 0x10
jae 0x8417bb
lea eax, [esp + 0x74]
add eax, edx
cmp esi, eax
jbe 0x8417c6
call fcn.0081ff70
mov ecx, dword [esp + 0x2c]
push ecx
lea eax, [esp + 0x74]
push esi
push eax
lea edx, [esp + 0x74]
push edx
mov ecx, eax
call fcn.0040fc00
mov edx, dword [esp + 0x88]
cmp edx, 0x10
mov eax, dword [esp + 0x74]
mov esi, eax
jae 0x8417f3
lea esi, [esp + 0x74]
mov edi, dword [esp + 0x84]
add esi, edi
je 0x84181c
cmp edx, 0x10
mov ecx, eax
jae 0x841809
lea ecx, [esp + 0x74]
cmp ecx, esi
ja 0x84181c
cmp edx, 0x10
jae 0x841816
lea eax, [esp + 0x74]
add eax, edi
cmp esi, eax
jbe 0x841821
call fcn.0081ff70
mov ecx, dword [esp + 0x2d]
lea edx, [esp + 0x60]
jmp 0x84186a
cmp edi, 0x10
jae 0x841834
lea esi, [esp + 0x74]
mov edx, dword [esp + 0x84]
add esi, edx
je 0x84185d
cmp edi, 0x10
mov ecx, eax
jae 0x84184a
lea ecx, [esp + 0x74]
cmp ecx, esi
ja 0x84185d
cmp edi, 0x10
jae 0x841857
lea eax, [esp + 0x74]
add eax, edx
cmp esi, eax
jbe 0x841862
call fcn.0081ff70
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x50]
push ecx
push esi
lea eax, [esp + 0x78]
push eax
push edx
mov ecx, eax
call fcn.0040fc00
mov ebx, 0x10
xor ebp, ebp
mov edi, dword [esp + 0x84]
cmp dword [esp + 0xc0], ebx
mov edx, dword [esp + 0xac]
jae 0x84189e
lea edx, [esp + 0xac]
mov ecx, dword [esp + 0xbc]
cmp edi, ecx
jae 0x8418ab
mov ecx, edi
mov esi, dword [esp + 0x88]
cmp esi, 0x10
mov ebx, dword [esp + 0x74]
mov eax, ebx
jae 0x8418c1
lea eax, [esp + 0x74]
push ecx
push edx
push eax
call fcn.00405560
add esp, 0xc
cmp eax, ebp
jne 0x8418ea
mov eax, dword [esp + 0xbc]
cmp edi, eax
jb 0x841b1f
xor ecx, ecx
cmp edi, eax
setne cl
mov eax, ecx
cmp eax, ebp
jl 0x841b1f
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
mov edx, dword [esp + 0xbc]
mov eax, dword [esi + 0x144]
mov ecx, dword [esi + 0x13c]
add esi, 0x13c
lea edi, [edi + edx + 2]
sub ecx, eax
cmp ecx, edi
jae 0x841927
mov edx, edi
sub edx, dword [esi + 4]
mov ecx, esi
add edx, eax
call fcn.0084a6e0
mov ebp, dword [esi + 8]
add edi, ebp
mov dword [esi + 8], edi
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xac]
mov ebx, 0x10
cmp ecx, ebx
mov eax, edx
jae 0x84194f
lea eax, [esp + 0xac]
mov esi, dword [esp + 0xbc]
lea edi, [eax + esi]
test edi, edi
je 0x841981
cmp ecx, ebx
mov eax, edx
jae 0x84196a
lea eax, [esp + 0xac]
cmp eax, edi
ja 0x841981
cmp ecx, ebx
mov eax, edx
jae 0x84197b
lea eax, [esp + 0xac]
add eax, esi
cmp edi, eax
jbe 0x841994
call fcn.0081ff70
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xac]
cmp ecx, ebx
jb 0x841b0a
test edx, edx
mov esi, edx
je 0x8419cd
cmp ecx, ebx
mov eax, edx
jae 0x8419af
lea eax, [esp + 0xac]
cmp eax, esi
ja 0x8419cd
cmp ecx, ebx
mov eax, edx
jae 0x8419c0
lea eax, [esp + 0xac]
mov edx, dword [esp + 0xbc]
add eax, edx
cmp esi, eax
jbe 0x8419d2
call fcn.0081ff70
cmp esi, edi
mov eax, esi
je 0x8419ec
mov ecx, ebp
sub ecx, esi
lea esp, [esp]
mov dl, byte [eax]
mov byte [eax + ecx], dl
add eax, 1
cmp eax, edi
jne 0x8419e0
mov eax, dword [esp + 0xbc]
mov byte [eax + ebp], 0
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0x74]
lea ebp, [ecx + ebp + 1]
mov ecx, dword [esp + 0x88]
cmp ecx, ebx
mov eax, edx
jae 0x841a17
lea eax, [esp + 0x74]
mov esi, dword [esp + 0x84]
lea edi, [eax + esi]
test edi, edi
je 0x841a43
cmp ecx, ebx
mov eax, edx
jae 0x841a2f
lea eax, [esp + 0x74]
cmp eax, edi
ja 0x841a43
cmp ecx, ebx
mov eax, edx
jae 0x841a3d
lea eax, [esp + 0x74]
add esi, eax
cmp edi, esi
jbe 0x841a53
call fcn.0081ff70
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x74]
cmp ecx, ebx
jb 0x841b16
test edx, edx
mov esi, edx
je 0x841a86
cmp ecx, ebx
mov eax, edx
jae 0x841a6b
lea eax, [esp + 0x74]
cmp eax, esi
ja 0x841a86
cmp ecx, ebx
mov eax, edx
jae 0x841a79
lea eax, [esp + 0x74]
mov edx, dword [esp + 0x84]
add edx, eax
cmp esi, edx
jbe 0x841a8b
call fcn.0081ff70
cmp esi, edi
mov eax, esi
je 0x841aa1
mov ecx, ebp
sub ecx, esi
mov dl, byte [eax]
mov byte [ecx + eax], dl
add eax, 1
cmp eax, edi
jne 0x841a95
mov eax, dword [esp + 0x84]
mov byte [eax + ebp], 0
cmp dword [esp + 0x88], ebx
jb 0x841ac2
mov ecx, dword [esp + 0x74]
push ecx
call fcn.0081f6fa
add esp, 4
cmp dword [esp + 0xc0], ebx
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], 0
mov byte [esp + 0x74], 0
mov dword [esp + 0xd0], 0xffffffff
jb 0x841380
mov edx, dword [esp + 0xac]
push edx
call fcn.0081f6fa
add esp, 4
jmp 0x841380
lea esi, [esp + 0xac]
jmp 0x8419a2
lea esi, [esp + 0x74]
jmp 0x841a61
cmp esi, 0x10
jb 0x841b2d
push ebx
call fcn.0081f6fa
add esp, 4
cmp dword [esp + 0xc0], 0x10
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], ebp
mov byte [esp + 0x74], 0
jb 0x841b5e
mov eax, dword [esp + 0xac]
push eax
call fcn.0081f6fa
add esp, 4
xor eax, eax
jmp 0x841e19
mov eax, dword [esp + 0x1c]
mov ebp, dword [eax + 4]
cmp ebp, dword [eax + 8]
jbe 0x841b76
call fcn.0081ff70
mov edi, dword [esp + 0x1c]
mov esi, dword [edi + 8]
cmp dword [edi + 4], esi
mov dword [esp + 0x38], esi
jbe 0x841b8b
call fcn.0081ff70
test edi, edi
mov ebx, dword [esp + 0x18]
je 0x841b97
cmp edi, edi
je 0x841b9c
call fcn.0081ff70
cmp ebp, esi
je 0x841e0a
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], 0
mov byte [esp + 0x90], 0
test edi, edi
mov dword [esp + 0xd0], 7
jne 0x841bd6
call fcn.0081ff70
cmp ebp, dword [edi + 8]
jb 0x841be0
call fcn.0081ff70
cmp byte [ebp + 1], 0
lea esi, [ebp + 1]
je 0x841c5e
cmp ebp, dword [edi + 8]
jb 0x841bf3
call fcn.0081ff70
cmp ebp, dword [edi + 8]
mov cl, byte [ebp]
mov byte [esp + 0x14], cl
jb 0x841c04
call fcn.0081ff70
mov dl, byte [esi]
lea eax, [esp + 0x16]
push eax
lea ecx, [esp + 0x18]
mov byte [esp + 0x19], dl
push ecx
mov ecx, dword [ebx + 4]
lea edx, [esp + 0xb0]
push edx
mov byte [esp + 0x22], 0
call fcn.0083f2f0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x98]
mov byte [esp + 0xdc], 8
call fcn.004020d0
cmp dword [esp + 0xc0], 0x10
mov byte [esp + 0xd0], 7
jb 0x841cbf
mov eax, dword [esp + 0xac]
push eax
jmp 0x841cb7
cmp ebp, dword [edi + 8]
jb 0x841c72
call fcn.0081ff70
cmp ebp, dword [edi + 8]
jb 0x841c72
call fcn.0081ff70
push esi
push ebp
lea ecx, [esp + 0xb0]
push ecx
mov ecx, dword [ebx + 4]
call fcn.0083f2f0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x98]
mov byte [esp + 0xdc], 9
call fcn.004020d0
cmp dword [esp + 0xc0], 0x10
mov byte [esp + 0xd0], 7
jb 0x841cbf
mov edx, dword [esp + 0xac]
push edx
call fcn.0081f6fa
add esp, 4
mov edi, dword [esp + 0xa0]
test edi, edi
je 0x841de8
mov esi, dword [ebx]
mov edx, dword [esi + 0x144]
mov eax, dword [esi + 0x13c]
add esi, 0x13c
add edi, 1
sub eax, edx
cmp eax, edi
jae 0x841cf7
sub edx, dword [esi + 4]
mov ecx, esi
add edx, edi
call fcn.0084a6e0
mov ebx, dword [esi + 8]
lea ecx, [ebx + edi]
mov dword [esi + 8], ecx
cmp dword [esp + 0xa4], 0x10
mov eax, dword [esp + 0x90]
jae 0x841d18
lea eax, [esp + 0x90]
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x8c]
push ecx
add eax, edx
push eax
lea ecx, [esp + 0x34]
call fcn.00410540
cmp dword [esp + 0xa4], 0x10
mov eax, dword [esp + 0x90]
jae 0x841d4b
lea eax, [esp + 0x90]
lea edx, [esp + 0x8c]
push edx
push eax
lea ecx, [esp + 0x44]
call fcn.00410540
mov eax, dword [esp + 0x40]
mov esi, dword [esp + 0x30]
cmp eax, esi
je 0x841d7c
mov ecx, ebx
sub ecx, eax
lea ecx, [ecx]
mov dl, byte [eax]
mov byte [ecx + eax], dl
add eax, 1
cmp eax, esi
jne 0x841d70
mov eax, dword [esp + 0xa0]
mov byte [eax + ebx], 0
mov eax, dword [esp + 0x1c]
cmp ebp, dword [eax + 8]
jb 0x841d95
call fcn.0081ff70
add ebp, 2
cmp dword [esp + 0xa4], 0x10
mov dword [esp + 0xd0], 0xffffffff
jb 0x841dbd
mov ecx, dword [esp + 0x90]
push ecx
call fcn.0081f6fa
add esp, 4
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x38]
mov dword [esp + 0xa4], 0xf
mov dword [esp + 0xa0], 0
mov byte [esp + 0x90], 0
jmp 0x841b8b
cmp dword [esp + 0xa4], 0x10
jb 0x841b5e
mov edx, dword [esp + 0x90]
push edx
call fcn.0081f6fa
add esp, 4
xor eax, eax
jmp 0x841e19
mov eax, dword [ebx]
mov eax, dword [eax + 0x140]
add eax, dword [esp + 0x44]
mov dword [ebx + 8], eax
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xb0]
xor ecx, esp
call fcn.0081fb35
add esp, 0xc0
ret 8