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

Disassembly:
sub esp, 0x2a8
mov eax, dword [0x240d428]
xor eax, esp
mov dword [esp + 0x2a4], eax
push ebx
mov ebx, dword [esp + 0x2b0]
push ebp
push esi
push edi
push 0x104
xor edi, edi
lea eax, [esp + 0x90]
push edi
push eax
mov dword [esp + 0x24], ebx
mov dword [esp + 0x94], 0x4550
call fcn.1003c430
mov ecx, dword [ebx]
xor eax, eax
push 0x2408d40
mov ebp, 0x1000
push ecx
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x38], ebp
mov dword [esp + 0x40], edi
call fcn.100515fc
mov edx, dword [ebx]
neg eax
sbb eax, eax
inc eax
push 0x2408d4c
push edx
mov dword [esp + 0x5c], eax
call fcn.100515fc
add esp, 0x1c
neg eax
sbb eax, eax
inc eax
mov dword [esp + 0x84], eax
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x50], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], edi
mov dword [esp + 0x28], edi
cmp eax, edi
je 0x10002c53
lea ebp, [eax + 0x1000]
mov dword [esp + 0x24], ebp
mov esi, dword [ebx]
lea edx, [esp + 0x230]
mov eax, esi
sub edx, esi
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x10002c60
push 0x2e
push esi
call fcn.10036510
add esp, 8
test eax, eax
jne 0x10002c9a
lea eax, [esp + 0x230]
dec eax
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x10002c81
mov ecx, dword [0x2408d54]
mov dl, byte [0x2408d58]
mov dword [eax], ecx
mov byte [eax + 4], dl
mov ecx, dword [ebx + 0x20]
lea esi, [ecx + ecx*8]
add esi, esi
add esi, esi
add esi, esi
mov eax, esi
and eax, 0xffff
cmp eax, 0xa000
mov edx, esi
jg 0x10002cc2
and esi, 0xffffec00
or esi, 0xec00
mov eax, dword [ebx + 0x34]
cmp eax, edi
jne 0x10002cd1
add esi, 0x40000
jmp 0x10002cd3
add esi, eax
cmp esi, edx
mov dword [esp + 0x14], esi
jge 0x10002cdf
mov dword [esp + 0x14], edx
lea esi, [ecx + ecx*4 + 0x14]
add esi, esi
lea eax, [esp + 0x230]
mov dword [esp + 0x48], esi
lea edi, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x10002cf3
mov edx, dword [ebx + 0x38]
add edx, dword [ebx + 0x40]
sub eax, edi
add edx, eax
xor eax, eax
cmp ecx, eax
lea edi, [edx + esi + 0x111]
mov dword [esp + 0x1c], eax
jle 0x10002dff
add ebp, 2
mov dword [esp + 0x34], eax
mov dword [esp + 0x20], ebp
mov ebp, dword [ebx + 0x28]
add ebp, dword [esp + 0x34]
test dword [ebp + 0x18], 0x40000000
je 0x10002d39
add edi, 8
jmp 0x10002d63
mov eax, dword [ebp + 4]
test eax, eax
je 0x10002d63
push 0x60
push eax
call fcn.10036320
add esp, 8
test eax, eax
je 0x10002d63
inc eax
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10002d53
sub eax, edx
inc eax
add dword [esp + 0x28], eax
add edi, eax
mov esi, dword [ebp]
test esi, esi
je 0x10002de3
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10002d70
mov ecx, dword [esp + 0x30]
sub eax, edx
cmp dword [esp + 0x40], 0
lea edx, [ecx + eax + 1]
lea edi, [edi + eax + 1]
mov dword [esp + 0x30], edx
je 0x10002dd2
mov ecx, dword [esp + 0x50]
xor eax, eax
or ecx, eax
jne 0x10002dd2
mov ecx, 0x2408d5c
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10002dc1
test dl, dl
je 0x10002dbd
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10002dc1
add eax, 2
add ecx, 2
test dl, dl
jne 0x10002da1
xor eax, eax
jmp 0x10002dc6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10002dd2
mov edx, dword [esp + 0x20]
mov dword [esp + 0x50], edx
test dword [ebp + 0x18], 0x80000000
je 0x10002de3
mov eax, dword [esp + 0x20]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x1c]
add dword [esp + 0x34], 0x60
add dword [esp + 0x20], 0x48
inc eax
cmp eax, dword [ebx + 0x20]
mov dword [esp + 0x1c], eax
jl 0x10002d24
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
add edi, 7
lea ecx, [esi + 0x1ff]
add esi, 0xfff
and esi, 0xfffff000
add edx, esi
mov dword [esp + 0x20], edx
lea eax, [edi + 0xfff]
and eax, 0xfffff000
add eax, edx
and ecx, 0xfffffe00
lea edx, [edi + 0x1ff]
and edx, 0xfffffe00
lea ebp, [ecx + 0x400]
add edx, ebp
cmp dword [esp + 0x2c], 0
mov dword [esp + 0x34], edx
mov edx, 0x8664
mov word [esp + 0x8c], dx
mov edx, 4
mov word [esp + 0x8e], dx
mov edx, pe_nt_image_headers32
mov word [esp + 0x9c], dx
mov edx, 0x200e
mov word [esp + 0x9e], dx
mov edx, 0x20b
mov word [esp + 0xa0], dx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x44], ebp
mov dword [esp + 0x90], 0x4802a12c
mov byte [esp + 0xa2], 7
mov byte [esp + 0xa3], 0xa
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], edi
je 0x10002ed3
mov edx, dword [esp + 0x2c]
mov dword [esp + 0xb0], edx
jmp 0x10002eec
mov edx, dword [ebx + 0x10]
mov dword [esp + 0xb0], edx
test edx, edx
jne 0x10002eec
mov dword [esp + 0xb0], 0xf07f
mov edx, dword [esp + 0x24]
mov dword [esp + 0xb4], edx
mov edx, dword [ebx + 0x18]
mov ebx, dword [ebx + 0x1c]
mov ebp, edx
or ebp, ebx
je 0x10002f15
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], ebx
xor edx, edx
jmp 0x10002f2c
mov edx, dword [esp + 0x18]
mov edx, dword [edx + 8]
mov dword [esp + 0xb8], edx
xor edx, edx
mov dword [esp + 0xbc], edx
mov ebp, 5
mov word [esp + 0xc8], bp
mov ebp, 1
mov word [esp + 0xca], bp
mov ebp, 5
mov word [esp + 0xcc], bp
mov ebp, 1
mov word [esp + 0xce], bp
mov ebp, 4
mov dword [esp + 0xd8], eax
mov eax, 3
mov word [esp + 0xd0], bp
mov ebx, 0x1000
xor ebp, ebp
mov word [esp + 0xe4], ax
mov dword [esp + 0xec], edx
mov dword [esp + 0xf4], edx
mov dword [esp + 0xfc], edx
mov dword [esp + 0x104], edx
mov edx, 0x110
lea eax, [esp + 0x230]
mov word [esp + 0xd2], bp
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xc4], 0x200
mov dword [esp + 0xdc], 0x400
mov dword [esp + 0xe8], 0x40000
mov dword [esp + 0xf0], ebx
mov dword [esp + 0xf8], 0x100000
mov dword [esp + 0x100], ebx
mov dword [esp + 0x10c], 0x10
mov dword [esp + 0x11c], edx
lea ebp, [eax + 1]
mov edi, edi
mov bl, byte [eax]
inc eax
test bl, bl
jne 0x10003010
mov ebx, dword [esp + 0x18]
sub eax, ebp
mov ebp, dword [ebx + 0x40]
add ebp, eax
mov eax, dword [esp + 0x20]
lea eax, [eax + ebp + 1]
lea ebp, [eax + 0x110]
mov dword [esp + 0x118], eax
mov dword [esp + 0x170], eax
mov dword [esp + 0x138], eax
mov dword [esp + 0x168], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x174], edx
mov edx, dword [esp + 0x48]
add edx, eax
add edx, dword [esp + 0x30]
xor eax, eax
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], eax
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], eax
mov dword [esp + 0x1b0], eax
movzx eax, word [0x2408d6c]
mov dword [esp + 0x114], edx
mov edx, dword [0x2408d68]
mov word [esp + 0x194], ax
xor eax, eax
mov dword [esp + 0x190], edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x1a0], ecx
mov cx, word [0x2408d74]
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1b8], eax
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], eax
mov dword [esp + 0x1dc], eax
mov dword [esp + 0x1d0], eax
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], eax
mov eax, dword [0x2408d70]
mov dword [esp + 0x19c], edx
mov word [esp + 0x1bc], cx
lea ecx, [edi + 0xfff]
lea edx, [edi + 0x1ff]
mov edi, dword [esp + 0x44]
mov dword [esp + 0x1b8], eax
and ecx, 0xfffff000
and edx, 0xfffffe00
xor eax, eax
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], eax
mov dword [esp + 0x1e8], eax
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], eax
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], eax
mov eax, dword [0x2408d78]
mov dword [esp + 0x198], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x1e0], eax
movzx eax, word [0x2408d7c]
mov dword [esp + 0x13c], 0x1400
mov dword [esp + 0x16c], 0x100
mov dword [esp + 0x110], ebp
mov dword [esp + 0x1a4], 0x400
mov dword [esp + 0x1b4], 0x60000020
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c4], esi
mov dword [esp + 0x1c8], edx
mov dword [esp + 0x1cc], edi
mov dword [esp + 0x1dc], 0xc0000040
mov word [esp + 0x1e4], ax
lea eax, [esi + ecx]
mov dword [esp + 0x1ec], eax
lea eax, [edi + edx]
mov dword [esp + 0x1f4], eax
xor eax, eax
mov dword [esp + 0x20c], eax
mov dword [esp + 0x208], eax
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], eax
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], eax
mov dword [esp + 0x22c], eax
mov dword [esp + 0x220], eax
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], eax
mov eax, dword [0x2408d80]
mov dword [esp + 0x208], eax
movzx eax, word [0x2408d84]
mov word [esp + 0x20c], ax
mov al, byte [0x2408d86]
add esi, ecx
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x20e], al
xor eax, eax
mov dword [esp + 0x68], ecx
mov dword [esp + 0x210], eax
mov dword [esp + 0x218], eax
mov eax, dword [ebx + 0x20]
lea ecx, [ebp + 0x28]
mov dword [esp + 0x78], ecx
lea ecx, [ecx + eax*4]
add edi, edx
mov edx, dword [ebx + 0x2c]
mov dword [esp + 0x214], esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], eax
lea eax, [ecx + eax*4]
push esi
mov dword [esp + 0x1ec], 0
mov dword [esp + 0x1f4], 0
mov dword [esp + 0x208], 0x40000040
mov dword [esp + 0x220], edi
mov dword [esp + 0x230], 0x42000040
mov dword [esp + 0x64], 0x48025be1
mov dword [esp + 0x70], edx
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
call fcn.10036a69
mov ebp, eax
add esp, 4
mov dword [esp + 0x2c], ebp
test ebp, ebp
jne 0x1000335c
call fcn.10036420
mov dword [eax], 0xc
xor eax, eax
jmp 0x100038df
push esi
push 0
push ebp
call fcn.1003c430
mov ecx, 0x38
mov esi, 0x241b730
mov edi, ebp
rep movsd dword es:[edi], dword [esi]
lea eax, [ebp + 0xe0]
mov ecx, 0x42
lea esi, [esp + 0x94]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
lea edi, [eax + 0x108]
mov ecx, 0x28
lea esi, [esp + 0x19c]
rep movsd dword es:[edi], dword [esi]
add esp, 0xc
cmp dword [ebx + 0x20], 0
lea ecx, [ebp + 0x400]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], 0
jle 0x10003558
mov ebx, ecx
mov ecx, dword [esp + 0x18]
add ebx, 2
mov dword [esp + 0x38], 0
lea ecx, [ecx]
mov ebp, dword [ecx + 0x28]
add ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x50]
mov esi, dword [ebp + 4]
test esi, esi
je 0x1000352f
cmp byte [esi], 0x2a
lea eax, [esi + 1]
je 0x100033f0
mov eax, esi
test eax, eax
je 0x1000352f
cmp dword [esp + 0x40], 0
je 0x10003460
mov eax, dword [ebp]
test eax, eax
je 0x10003460
mov edx, edi
xor ecx, ecx
or edx, ecx
je 0x10003460
mov ecx, 0x2408d88
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x10003433
test dl, dl
je 0x1000342f
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x10003433
add eax, 2
add ecx, 2
test dl, dl
jne 0x10003413
xor eax, eax
jmp 0x10003438
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x10003460
mov eax, dword [esp + 0x2c]
sub edi, ebx
sub edi, dword [esp + 0x24]
mov byte [ebx], 0x8b
lea ecx, [edi + eax + 0x3f9]
mov byte [ebx + 1], 0xc8
mov byte [ebx + 2], 0xe8
mov dword [ebx + 3], ecx
jmp 0x1000352f
mov cl, byte [esi]
lea eax, [esi + 1]
cmp cl, 0x2a
je 0x1000346c
mov eax, esi
cmp esi, eax
jne 0x100034a6
cmp cl, 0x2a
jne 0x10003476
inc esi
test esi, esi
je 0x100034a6
push 0x60
push esi
call fcn.10036320
add esp, 8
test eax, eax
je 0x1000348d
sub eax, esi
jmp 0x1000349b
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10003492
sub eax, edx
dec eax
cmp eax, 4
jle 0x100034a6
add eax, 0xfffffffc
jmp 0x100034a8
xor eax, eax
test byte [ebp + 0x18], 4
je 0x100034e6
mov edx, dword [esp + 0x18]
mov ecx, dword [edx + 0x68]
movzx edx, word [esp + 0x1c]
mov edi, dword [esp + 0x14]
shl ecx, 0x10
or ecx, edx
mov dword [0x241b6eb], ecx
add eax, eax
add eax, eax
mov word [0x241b6f2], ax
mov ecx, 0x10
mov esi, 0x241b6e8
rep movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov byte [ebp + 0x59], 5
jmp 0x10003515
mov ecx, dword [esp + 0x18]
mov edx, dword [ecx + 0x68]
movzx eax, word [esp + 0x1c]
mov ecx, dword [esp + 0x14]
push 0x48
shl edx, 0x10
or edx, eax
push 0x241b698
push ecx
mov dword [0x241b6a5], edx
call fcn.1003f7c0
add esp, 0xc
mov byte [ebp + 0x59], 0x21
mov ecx, dword [ebp + 0x24]
test ecx, ecx
je 0x1000352f
mov eax, dword [ebp + 0x2c]
cmp eax, 0xa
jg 0x1000352f
push eax
push ecx
push ebx
call fcn.1003f7c0
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
add dword [esp + 0x38], 0x60
add dword [esp + 0x14], 0x48
inc eax
add ebx, 0x48
cmp eax, dword [ecx + 0x20]
mov dword [esp + 0x1c], eax
jl 0x100033d0
mov ebp, dword [esp + 0x2c]
mov ebx, ecx
mov edx, dword [esp + 0x44]
lea esi, [edx + ebp]
lea eax, [esp + 0x230]
mov edx, esi
mov ecx, eax
mov dword [esp + 0x38], esi
sub edx, ecx
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x10003570
lea eax, [esp + 0x230]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10003584
sub eax, edx
lea edi, [esi + eax + 0x111]
mov eax, dword [ebx + 0x3c]
mov dword [esp + 0x14], edi
test eax, eax
je 0x100035b4
mov edx, dword [ebx + 0x40]
push edx
push eax
push edi
call fcn.1003f7c0
add esp, 0xc
add edi, dword [ebx + 0x40]
mov dword [esp + 0x14], edi
mov eax, dword [ebx + 0x20]
mov ebp, dword [esp + 0x30]
lea ecx, [edi + eax*4 + 0x28]
lea edx, [ecx + eax*4]
lea esi, [edx + eax*2]
mov dword [esp + 0x50], esi
add esi, ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x44], esi
lea esi, [esi + ebp + 7]
and esi, 0xfffffff8
xor ebp, ebp
mov dword [esp + 0x40], esi
test eax, eax
jle 0x100037f5
sub esi, dword [esp + 0x38]
mov eax, dword [esp + 0x24]
add esi, dword [esp + 0x20]
add eax, 2
mov dword [esp + 0x30], ebp
mov dword [esp + 0x48], edx
mov dword [esp + 0x28], ecx
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], eax
jmp 0x10003610
mov ecx, dword [esp + 0x18]
mov ebx, dword [ecx + 0x28]
add ebx, dword [esp + 0x30]
mov eax, dword [ebx + 4]
test eax, eax
je 0x10003673
push 0x60
push eax
call fcn.10036320
add esp, 8
test eax, eax
je 0x10003673
mov edi, dword [esp + 0x44]
mov ecx, dword [esp + 0x14]
mov edx, edi
sub edx, dword [esp + 0x38]
inc eax
add edx, dword [esp + 0x20]
mov esi, edi
mov dword [ecx + ebp*4 + 0x28], edx
mov ecx, eax
sub esi, eax
mov edi, edi
mov dl, byte [ecx]
mov byte [ecx + esi], dl
inc ecx
test dl, dl
jne 0x10003650
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x10003660
sub eax, edx
lea edx, [edi + eax + 1]
mov dword [esp + 0x44], edx
jmp 0x100036b3
test dword [ebx + 0x18], 0x40000000
je 0x100036a7
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov dword [eax + ebp*4 + 0x28], ecx
mov eax, dword [esp + 0x40]
mov edx, dword [ebx + 0x10]
mov dword [eax], edx
mov edx, dword [ebx + 0x14]
mov dword [eax + 4], edx
add eax, 8
add ecx, 8
mov dword [esp + 0x40], eax
mov dword [esp + 0x1c], ecx
jmp 0x100036b3
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov dword [ecx + ebp*4 + 0x28], eax
cmp dword [ebx], 0
je 0x100037ce
mov esi, dword [esp + 0x50]
inc dword [esp + 0x3c]
mov eax, dword [esp + 0x28]
mov edx, esi
sub edx, dword [esp + 0x38]
add edx, dword [esp + 0x20]
mov dword [eax], edx
mov ecx, dword [ebx]
mov edx, esi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x100036d8
mov eax, dword [ebx]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x100036e7
add dword [esp + 0x28], 4
sub eax, edx
lea ecx, [esi + eax + 1]
mov eax, dword [esp + 0x48]
mov word [eax], bp
add eax, 2
cmp dword [esp + 0x84], 0
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], eax
je 0x100037ce
cmp dword [ebx + 4], 0
je 0x100037ce
mov ecx, dword [ebx]
mov al, byte [ecx]
cmp al, 0x4e
jne 0x10003745
cmp byte [ecx + 1], 0x74
jne 0x10003745
cmp dword [esp + 0x4c], 0
jne 0x100037ce
mov dword [esp + 0x4c], ebp
jmp 0x100037ce
cmp al, 0x5a
jne 0x100037ce
mov eax, ecx
cmp byte [eax + 1], 0x77
jne 0x100037ce
mov esi, dword [esp + 0x4c]
cmp esi, ebp
mov edi, esi
jge 0x100037ce
mov edx, dword [esp + 0x18]
lea esi, [esi + esi*2]
shl esi, 5
add esi, dword [edx + 0x28]
mov eax, dword [esi]
test eax, eax
je 0x100037ce
cmp byte [eax], 0x4e
jne 0x100037ce
cmp byte [eax + 1], 0x74
jne 0x100037ce
lea ecx, [eax + 2]
mov eax, dword [ebx]
add eax, 2
lea ecx, [ecx]
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100037b0
test dl, dl
je 0x100037ac
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100037b0
add eax, 2
add ecx, 2
test dl, dl
jne 0x10003790
xor eax, eax
jmp 0x100037b5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100037c3
inc edi
add esi, 0x60
cmp edi, ebp
jl 0x10003774
jmp 0x100037ce
mov eax, dword [esi + 0x34]
mov ecx, dword [esp + 0x14]
mov dword [ecx + ebp*4 + 0x28], eax
mov edx, dword [esp + 0x14]
mov eax, dword [edx + ebp*4 + 0x28]
mov ecx, dword [esp + 0x18]
add dword [esp + 0x30], 0x60
add dword [esp + 0x24], 0x48
inc ebp
mov dword [ebx + 0x34], eax
cmp ebp, dword [ecx + 0x20]
jl 0x10003610
mov ebx, ecx
mov edi, edx
mov edx, dword [esp + 0x3c]
mov ecx, 0xa
lea esi, [esp + 0x5c]
mov dword [esp + 0x74], edx
rep movsd dword es:[edi], dword [esi]
cmp dword [ebx + 0x48], 0
mov dword [esp + 0x1c], 0
jle 0x100038b4
mov dword [esp + 0x3c], 0
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x44]
mov edx, dword [esp + 0x3c]
mov eax, dword [ecx + edx]
sub eax, 0
lea edi, [ecx + edx]
je 0x10003850
sub eax, 2
jne 0x10003899
mov eax, dword [edi + 4]
cdq
mov ecx, eax
mov esi, edx
add ecx, 0xe0
adc esi, 0
jmp 0x10003858
mov eax, dword [edi + 4]
cdq
mov ecx, eax
mov esi, edx
mov eax, ecx
and eax, esi
cmp eax, 0xffffffff
je 0x10003899
xor ebx, ebx
cmp esi, ebx
ja 0x10003899
jb 0x1000386f
cmp ecx, dword [esp + 0x34]
jae 0x10003899
mov ebp, dword [edi + 0xc]
mov eax, ebp
cdq
add eax, ecx
adc edx, esi
cmp edx, ebx
ja 0x10003899
jb 0x10003885
cmp eax, dword [esp + 0x34]
jae 0x10003899
mov edx, dword [edi + 8]
mov eax, dword [esp + 0x2c]
push ebp
push edx
add ecx, eax
push ecx
call fcn.1003f7c0
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
add dword [esp + 0x3c], 0x10
inc eax
cmp eax, dword [ecx + 0x48]
mov dword [esp + 0x1c], eax
jl 0x10003822
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x18]
push 0
push edi
lea edx, [esi + 0x5c]
push edx
call dword [0x23d6120]
test eax, eax
je 0x100038d6
push edi
call fcn.10036912
add esp, 4
mov eax, dword [esp + 0x34]
mov dword [esi + 0x64], eax
mov eax, esi
mov ecx, dword [esp + 0x2b4]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.100362fa
add esp, 0x2a8
ret