Function at 0x100387df
Capabilities:
Get number of processors
Resolve function by parsing pe exports

Disassembly:
add esp, 4
and edx, 0xba93
and edx, 0x13a45
pop edx
jmp 0x10036dce
push esi
push ebx
add esp, 4
and esi, 0xb5de
add esi, 0xd82b
sub esi, 0x15c5c
sub esi, 0x9f10
pop esi
push esi
or esi, 0xb53f
xor esi, 0x112f0
sub esi, 0x1139
pop esi
mov dword [ebp - 0x3fc], 0
push ebx
push ecx
add esp, 4
jmp 0x10036e14
xor ebx, 0x12612
or ebx, 0x6a08
pop ebx
push esi
push ebx
add esp, 4
jmp 0x10036e2f
xor esi, 0x12f6a
add esi, 0x15a54
pop esi
push ecx
call 0x10036e4a
add byte [0x4242484b], bh
inc ebp
xor al, 0x83
les eax, [ebx + ebp*8]
pop es
cmp byte [esi], dh
inc edx
cmp eax, 0xeb3d323f
add al, 0x4c
inc ebp
aaa
inc eax
pop ecx
push esi
push ebx
add esp, 4
jmp 0x10036e67
and esi, 0xd4c0
pop esi
mov edx, 1
imul eax, edx, 0
lea ecx, [ebp + eax - 0xbf4]
mov dword [ebp - 0x15e0], ecx
push edi
push eax
add esp, 4
add edi, 0x1106
xor edi, 0x59a6
sub edi, 0x15fff
and edi, 0x15e2f
pop edi
push edx
and edx, 0x100a0
or edx, 0xc987
xor edx, 0xbd44
pop edx
mov dword [ebp - 0x2054], 0xffffffff
push edi
push eax
add esp, 4
and edi, 0x174a7
and edi, 0x13f3c
pop edi
push ebx
xor ebx, 0xe42
pop ebx
push ecx
push ecx
add esp, 4
or ecx, 0x10ddb
or ecx, 0x13c80
sub ecx, 0xdb89
pop ecx
mov edx, dword [ebp - 0x3f4]
mov dword [ebp - 0x4fc], edx
jmp 0x10036f0e
mov eax, dword [ebp - 0x4fc]
add eax, 1
mov dword [ebp - 0x4fc], eax
push esi
xor esi, 0x8e88
and esi, 0xf658
add esi, 0xfb01
xor esi, 0x15212
pop esi
push ebx
push ecx
add esp, 4
sub ebx, 0x14d54
and ebx, 0x11dd4
sub ebx, 0x10db1
pop ebx
mov ecx, dword [ebp - 0x4fc]
sub ecx, dword [ebp - 0x3f4]
cmp ecx, 0xffffffff
jb 0x10036f88
push ecx
call 0x10036f61
add byte [ecx + 0x3e], al
dec ebx
dec ebp
cmp al, byte [ebx + ecx*2 + 0x45]
inc ecx
add esp, 4
pop ecx
push edi
push esi
add esp, 4
or edi, 0x5937
xor edi, 0xd3d4
and edi, 0x54ca
sub edi, 0x3acc
pop edi
jmp 0x100371b6
mov dword [ebp - 0xc9c], 7
mov edx, dword [ebp - 0x4fc]
mov dword [ebp - 0xae8], edx
push edx
push esi
add esp, 4
or edx, 0x1cf0
pop edx
push esi
add esi, 0x17cce
pop esi
push edi
or edi, 0x14c30
xor edi, 0x610a
jmp 0x10036fc7
jmp 0x10036fcf
pop edi
mov eax, dword [ebp - 0x15e0]
mov dword [ebp - 0xa64], eax
mov dword [ebp - 0xca0], 0
mov ecx, dword [ebp - 0x4fc]
cmp ecx, dword [ebp - 0x15e0]
jne 0x10037037
push esi
call 0x10037004
add byte [ecx], bh
aaa
inc esi
dec eax
dec esi
dec ecx
xor al, byte [ebp + 0x42]
add esp, 4
pop esi
push eax
push esi
add esp, 4
or eax, 0xecd8
pop eax
push ecx
push edi
add esp, 4
and ecx, 0x2aac
add ecx, 0x9e6c
pop ecx
mov edx, dword [ebp - 0xca0]
mov dword [ebp - 0x15e8], edx
jmp 0x10037168
cmp dword [ebp - 0xc9c], 0
jle 0x1003715c
push ecx
push eax
add esp, 4
jmp 0x1003704f
or ecx, 0x10db8
pop ecx
push esi
push eax
add esp, 4
or esi, 0x112a3
and esi, 0x101cf
add esi, 0xecbf
jmp 0x10037075
pop esi
mov eax, dword [ebp - 0xae8]
movzx ecx, byte [eax]
mov edx, dword [ebp - 0xa64]
movzx eax, byte [edx]
cmp ecx, eax
je 0x100370f8
push ecx
push ecx
add esp, 4
call 0x1003709e
add byte [ecx + 0x49], cl
cmp ecx, dword [ebx + 0x3c]
inc esp
dec esi
add esp, 4
call 0x100370ae
add byte [ebx + ecx*2 + 0x46], al
inc edx
inc eax
xor al, 0x83
les eax, [ecx + ebx*2]
push edi
push edi
add esp, 4
sub edi, 0x2d92
pop edi
mov ecx, dword [ebp - 0xae8]
movzx edx, byte [ecx]
mov eax, dword [ebp - 0xa64]
movzx ecx, byte [eax]
cmp edx, ecx
jle 0x100370e0
mov dword [ebp - 0x15e4], 1
jmp 0x100370ea
mov dword [ebp - 0x15e4], 0xffffffff
mov edx, dword [ebp - 0x15e4]
mov dword [ebp - 0xca0], edx
jmp 0x1003715c
push ebx
add ebx, 0x14255
pop ebx
push ecx
push eax
add esp, 4
and ecx, 0x17e1c
sub ecx, 0x14cbc
add ecx, 0xd432
call 0x10037126
add byte [edi + esi], dh
xor al, 0x41
xor al, 0x3d
cmp byte [esi], bh
xor al, byte [ebx - 0x74a6fb3c]
test dword [ebx + esi*8 - 1], esp
inc dword [ebx - 0x7a76fe18]
invalid
mov eax, dword [ebp - 0xca0]
mov dword [ebp - 0x15e8], eax
cmp dword [ebp - 0x15e8], 0
jne 0x100371b1
push ebx
add ebx, 0x4bdd
and ebx, 0x640
pop ebx
push ecx
push edx
add esp, 4
and ecx, 0x4dfe
pop ecx
push edx
push eax
add esp, 4
or edx, 0x122ac
sub edx, 0x165a6
or edx, 0x163a
pop edx
mov ecx, dword [ebp - 0x4fc]
mov dword [ebp - 0xae4], ecx
jmp 0x100371f2
jmp 0x10036eff
push ebx
push esi
add esp, 4
add ebx, 0x15a96
and ebx, 0x4ff9
sub ebx, 0x11579
or ebx, 0xafa1
pop ebx
push eax
and eax, 0x491c
pop eax
push edx
push edx
add esp, 4
or edx, 0xc915
pop edx
mov dword [ebp - 0xae4], 0
push edi
jmp 0x100371fb
xor edi, 0x10399
call 0x10037210
add byte [ecx + 0x32], al
cmp eax, dword [edx + 0x4f]
inc edi
cmp byte [ecx], bh
xor eax, 0xe804c483
or byte [eax], al
add byte [eax], al
add byte [ebp + 0x3c], al
inc ebp
cmp dword [esi], edi
dec edx
xor al, byte [ebx - 0x39a0fb3c]
test dword [edi + esi*8 - 0x39ba0001], eax
test dword [ebp + 0x78fffff7], eax
mov byte [ebp - 0x87a], 0x69
mov byte [ebp - 0x879], 0x74
mov byte [ebp - 0x878], 0x50
mov byte [ebp - 0x877], 0x72
mov byte [ebp - 0x876], 0x6f
mov byte [ebp - 0x875], 0x63
mov byte [ebp - 0x874], 0x65
mov byte [ebp - 0x873], 0x73
mov byte [ebp - 0x872], 0x73
mov byte [ebp - 0x871], 0
push edi
sub edi, 0x651e
sub edi, 0x1462a
jmp 0x1003728e
and edi, 0xa11f
pop edi
push eax
or eax, 0x9ebc
pop eax
push edx
jmp 0x100372a3
and edx, 0x1d36
pop edx
mov edx, 0x6b
mov word [ebp - 0x1754], dx
mov eax, 0x65
mov word [ebp - 0x1752], ax
mov ecx, 0x72
mov word [ebp - 0x1750], cx
mov edx, 0x6e
mov word [ebp - 0x174e], dx
mov eax, 0x65
mov word [ebp - 0x174c], ax
mov ecx, 0x6c
mov word [ebp - 0x174a], cx
mov edx, 0x33
mov word [ebp - 0x1748], dx
mov eax, 0x32
mov word [ebp - 0x1746], ax
mov ecx, 0x2e
mov word [ebp - 0x1744], cx
mov edx, 0x64
mov word [ebp - 0x1742], dx
mov eax, 0x6c
mov word [ebp - 0x1740], ax
mov ecx, 0x6c
mov word [ebp - 0x173e], cx
xor edx, edx
mov word [ebp - 0x173c], dx
push edi
sub edi, 0xaaf5
sub edi, 0x9bec
jmp 0x10037356
pop edi
push esi
jmp 0x1003735f
sub esi, 0xe2da
jmp 0x1003736e
xor esi, 0x561
pop esi
push esi
push esi
add esp, 4
sub esi, 0xe5bb
pop esi
push ebx
call 0x1003738f
add byte [esi + 0x4f], al
cmp eax, 0x474a4b33
add esp, 4
pop ebx
push ecx
push edi
add esp, 4
or ecx, 0xf01
pop ecx
push edx
sub edx, 0x62de
pop edx
mov eax, dword fs:[0x18]
mov dword [ebp - 0x197c], eax
mov ecx, dword [ebp - 0x197c]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0x1980], edx
mov eax, dword [ebp - 0x1980]
mov dword [ebp - 0x15ec], eax
push edx
and edx, 0x8cba
pop edx
push ecx
push esi
add esp, 4
jmp 0x100373e2
sub ecx, 0x7af6
jmp 0x100373ed
pop ecx
push ecx
push ebx
add esp, 4
add ecx, 0xe686
xor ecx, 0x9dde
pop ecx
cmp dword [ebp - 0x15ec], 0
jne 0x10037418
mov dword [ebp - 0x2f0], 0
jmp 0x100376d4
mov ecx, dword [ebp - 0x15ec]
mov edx, dword [ecx + 0xc]
mov eax, dword [edx + 0xc]
mov dword [ebp - 0xcac], eax
push edi
add edi, 0x118a
sub edi, 0x1c62
or edi, 0x11e1f
xor edi, 0xfd52
pop edi
push edx
push esi
add esp, 4
jmp 0x1003744f
and edx, 0xc81b
add edx, 0x41cf
pop edx
cmp dword [ebp - 0xcac], 0
jne 0x10037474
mov dword [ebp - 0x2f0], 0
jmp 0x100376d4
mov ecx, dword [ebp - 0xcac]
mov dword [ebp - 0x500], ecx
push edi
sub edi, 0x13d66
add edi, 0x4c55
pop edi
push ebx
push edi
add esp, 4
call 0x100374a2
add byte [edi], bh
inc eax
inc ebp
inc edi
xor eax, 0x43324235
add esp, 4
sub ebx, 0x3e7a
add ebx, 0x444e
pop ebx
lea edx, [ebp - 0x1754]
mov dword [ebp - 0xca8], edx
mov eax, dword [ebp - 0x500]
mov ecx, dword [eax + 0x30]
mov dword [ebp - 0xca4], ecx
xor edx, edx
mov word [ebp - 0x22c], dx
xor eax, eax
mov word [ebp - 0x128], ax
push ecx
push esi
add esp, 4
sub ecx, 0x38d0
pop ecx
push edi
push esi
add esp, 4
and edi, 0x4723
and edi, 0x497b
and edi, 0x6ba
pop edi
push ebx
or ebx, 0x3dd6
and ebx, 0x11aeb
pop ebx
mov ecx, dword [ebp - 0xca4]
mov dx, word [ecx]
mov word [ebp - 0x1046], dx
mov eax, dword [ebp - 0xca4]
add eax, 2
mov dword [ebp - 0xca4], eax
mov cx, word [ebp - 0x1046]
mov word [ebp - 0x22c], cx
mov edx, dword [ebp - 0xca8]
mov ax, word [edx]
mov word [ebp - 0x1048], ax
mov ecx, dword [ebp - 0xca8]
add ecx, 2
mov dword [ebp - 0xca8], ecx
mov dx, word [ebp - 0x1048]
mov word [ebp - 0x128], dx
push edi
push edi
add esp, 4
or edi, 0x14db2
and edi, 0xdee1
and edi, 0x551a
add edi, 0x257d
pop edi
push esi
add esi, 0xe24a
add esi, 0x2195
and esi, 0xf18b
pop esi
movzx eax, word [ebp - 0x128]
test eax, eax
jne 0x100375c0
movzx ecx, word [ebp - 0x22c]
movzx edx, word [ebp - 0x128]
sub ecx, edx
mov dword [ebp - 0x15f0], ecx
jmp 0x10037623
movzx eax, word [ebp - 0x22c]
movzx ecx, word [ebp - 0x128]
cmp eax, ecx
je 0x100374df
movzx edx, word [ebp - 0x22c]
xor edx, 0x20
movzx eax, word [ebp - 0x128]
cmp edx, eax
je 0x100374df
movzx ecx, word [ebp - 0x22c]
movzx edx, word [ebp - 0x128]
cmp ecx, edx
jge 0x1003760d
mov dword [ebp - 0x15b0], 0xffffffff
jmp 0x10037617
mov dword [ebp - 0x15b0], 1
mov eax, dword [ebp - 0x15b0]
mov dword [ebp - 0x15f0], eax
cmp dword [ebp - 0x15f0], 0
jne 0x1003766c
push eax
push eax
add esp, 4
call 0x1003763d
add byte [eax + 0x44], al
inc edx
dec esi
push eax
add esp, 4
sub eax, 0xa1f0
call 0x10037655
add byte [0x4c3e464a], dh
dec ebp
inc ebp
dec edx
dec edx
add esp, 4
jmp 0x1003765d
pop eax
mov ecx, dword [ebp - 0x500]
mov dword [ebp - 0x2f0], ecx
jmp 0x100376d4
push edx
push edx
add esp, 4
sub edx, 0x187c
jmp 0x1003767f
pop edx
push edx
push edi
add esp, 4
call 0x10037694
add byte [edi], dh
cmp byte [esi + 0x40], al
dec esp
inc ebp
dec esp
xor cl, byte [ebx + eax*4 - 0x3c]
add al, 0x81
ret 0xe00f
push edx
jmp 0x100376dc
pop edx
push edx
jmp 0x100376e3
and edx, 0xe60b
pop edx
push eax
push ebx
add esp, 4
jmp 0x100376f8
jmp 0x100376ff
sub eax, 0x1675f
pop eax
cmp dword [ebp - 0x2f0], 0
jne 0x1003800b
mov eax, 0x6b
mov word [ebp - 0x1790], ax
mov ecx, 0x65
mov word [ebp - 0x178e], cx
mov edx, 0x72
mov word [ebp - 0x178c], dx
mov eax, 0x6e
mov word [ebp - 0x178a], ax
mov ecx, 0x65
mov word [ebp - 0x1788], cx
mov edx, 0x6c
mov word [ebp - 0x1786], dx
mov eax, 0x33
mov word [ebp - 0x1784], ax
mov ecx, 0x32
mov word [ebp - 0x1782], cx
mov edx, 0x2e
mov word [ebp - 0x1780], dx
mov eax, 0x64
mov word [ebp - 0x177e], ax
mov ecx, 0x6c
mov word [ebp - 0x177c], cx
mov edx, 0x6c
mov word [ebp - 0x177a], dx
xor eax, eax
mov word [ebp - 0x1778], ax
push ecx
add ecx, 0x7206
jmp 0x100377bc
call 0x100377c8
add byte [edx + 0x3a], cl
dec edi
cmp byte [ebp + 0x3f], al
add esp, 4
pop ecx
push esi
push ebx
add esp, 4
and esi, 0xe910
add esi, 0x47c9
pop esi
mov byte [ebp - 0x898], 0x4c
mov byte [ebp - 0x897], 0x6f
mov byte [ebp - 0x896], 0x61
mov byte [ebp - 0x895], 0x64
mov byte [ebp - 0x894], 0x4c
mov byte [ebp - 0x893], 0x69
mov byte [ebp - 0x892], 0x62
mov byte [ebp - 0x891], 0x72
mov byte [ebp - 0x890], 0x61
mov byte [ebp - 0x88f], 0x72
mov byte [ebp - 0x88e], 0x79
mov byte [ebp - 0x88d], 0x57
mov byte [ebp - 0x88c], 0
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x1984], ecx
mov edx, dword [ebp - 0x1984]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x1988], eax
mov ecx, dword [ebp - 0x1988]
mov dword [ebp - 0x15f4], ecx
push ebx
push ebx
add esp, 4
and ebx, 0x163c5
or ebx, 0x387f
pop ebx
push eax
add eax, 0x42dd
add eax, 0x3dce
sub eax, 0x7f3
pop eax
push edx
push esi
add esp, 4
xor edx, 0x3541
pop edx
cmp dword [ebp - 0x15f4], 0
jne 0x100378ab
mov dword [ebp - 0x754], 0
jmp 0x10037b52
mov edx, dword [ebp - 0x15f4]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcb8], ecx
push edi
push edi
add esp, 4
xor edi, 0x10e4c
sub edi, 0x3cf0
xor edi, 0x118e6
pop edi
push ecx
xor ecx, 0xa10c
and ecx, 0x442a
pop ecx
push edi
push esi
add esp, 4
or edi, 0xb20e
pop edi
cmp dword [ebp - 0xcb8], 0
jne 0x10037907
mov dword [ebp - 0x754], 0
jmp 0x10037b52
mov edx, dword [ebp - 0xcb8]
mov dword [ebp - 0x504], edx
push ecx
and ecx, 0x9ff3
and ecx, 0x5eb3
pop ecx
push ecx
push eax
add esp, 4
or ecx, 0x163e
or ecx, 0xd564
call 0x10037941
add byte [0x3f473d32], dh
push eax
aas
xor esi, dword [edi]
add esp, 4
pop ecx
lea eax, [ebp - 0x1790]
mov dword [ebp - 0xcb4], eax
mov ecx, dword [ebp - 0x504]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcb0], edx
xor eax, eax
mov word [ebp - 0x230], ax
xor ecx, ecx
mov word [ebp - 0x44], cx
push edx
push ebx
add esp, 4
and edx, 0xd0b1
and edx, 0xac09
call 0x1003798f
add byte [edx], bh
inc ebx
inc edi
dec ebp
dec ecx
dec ecx
inc edx
inc edx
dec esp
add esp, 4
pop edx
push ecx
add ecx, 0x12253
or ecx, 0xc24f
pop ecx
mov edx, dword [ebp - 0xcb0]
mov ax, word [edx]
mov word [ebp - 0x104a], ax
mov ecx, dword [ebp - 0xcb0]
add ecx, 2
mov dword [ebp - 0xcb0], ecx
mov dx, word [ebp - 0x104a]
mov word [ebp - 0x230], dx
mov eax, dword [ebp - 0xcb4]
mov cx, word [eax]
mov word [ebp - 0x104c], cx
mov edx, dword [ebp - 0xcb4]
add edx, 2
mov dword [ebp - 0xcb4], edx
mov ax, word [ebp - 0x104c]
mov word [ebp - 0x44], ax
push ebx
push ecx
add esp, 4
add ebx, 0x9c1e
pop ebx
push eax
push esi
add esp, 4
sub eax, 0x14f57
pop eax
push ebx
xor ebx, 0xeac9
and ebx, 0x68e4
and ebx, 0x142c8
or ebx, 0xbfb6
pop ebx
movzx ecx, word [ebp - 0x44]
test ecx, ecx
jne 0x10037a47
movzx edx, word [ebp - 0x230]
movzx eax, word [ebp - 0x44]
sub edx, eax
mov dword [ebp - 0x15fc], edx
jmp 0x10037aa1
movzx ecx, word [ebp - 0x230]
movzx edx, word [ebp - 0x44]
cmp ecx, edx
je 0x1003796f
movzx eax, word [ebp - 0x230]
xor eax, 0x20
movzx ecx, word [ebp - 0x44]
cmp eax, ecx
je 0x1003796f
movzx edx, word [ebp - 0x230]
movzx eax, word [ebp - 0x44]
cmp edx, eax
jge 0x10037a8b
mov dword [ebp - 0x15f8], 0xffffffff
jmp 0x10037a95
mov dword [ebp - 0x15f8], 1
mov ecx, dword [ebp - 0x15f8]
mov dword [ebp - 0x15fc], ecx
cmp dword [ebp - 0x15fc], 0
jne 0x10037aea
push edi
or edi, 0x1559c
pop edi
push ecx
push edi
add esp, 4
xor ecx, 0x10f64
and ecx, 0x15e8d
jmp 0x10037ac9
sub ecx, 0x2f90
pop ecx
push edx
push ecx
add esp, 4
and edx, 0x278
pop edx
mov edx, dword [ebp - 0x504]
mov dword [ebp - 0x754], edx
jmp 0x10037b52
push ecx
call 0x10037afb
add byte [ecx + 0x4d], cl
inc ecx
push eax
inc esp
inc esi
dec ebx
xor al, byte [ebx - 0x1e7efb3c]
movsd dword es:[edi], dword [esi]
push ds
add byte [eax], al
pop ecx
push ecx
push ecx
add esp, 4
add ecx, 0x1eb9
add ecx, 0x1b13
jmp 0x10037b1b
pop ecx
mov eax, dword [ebp - 0x504]
mov ecx, dword [eax]
mov dword [ebp - 0x504], ecx
mov edx, dword [ebp - 0x504]
cmp edx, dword [ebp - 0xcb8]
je 0x10037b48
mov eax, dword [ebp - 0x504]
cmp dword [eax + 0x30], 0
jne 0x10037913
mov dword [ebp - 0x754], 0
push eax
and eax, 0xe736
pop eax
push ebx
push ecx
add esp, 4
sub ebx, 0x542a
and ebx, 0x42a
pop ebx
push edx
push edx
add esp, 4
xor edx, 0x17278
xor edx, 0x10838
or edx, 0x2ab8
pop edx
cmp dword [ebp - 0x754], 0
jne 0x10037bce
push edx
push ecx
add esp, 4
xor edx, 0xd285
or edx, 0x1cd7
call 0x10037baa
add byte [eax + 0x38], dl
inc edi
dec ebx
aaa
inc esp
add esp, 4
jmp 0x10037bb6
pop edx
push esi
xor esi, 0xd0eb
pop esi
mov dword [ebp - 0x7a0], 0
jmp 0x100386f6
push edx
push ebx
add esp, 4
jmp 0x10037bd9
add edx, 0x7101
xor edx, 0xd061
pop edx
push eax
xor eax, 0x14521
or eax, 0x4f08
xor eax, 0x107a2
or eax, 0x1105d
pop eax
mov ecx, dword [ebp - 0x754]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x3a8], edx
mov dword [ebp - 0x764], 0
mov eax, dword [ebp - 0x3a8]
mov dword [ebp - 0x1600], eax
cmp dword [ebp - 0x1600], 0
jne 0x10037c3f
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x3e0], ecx
jmp 0x10037f30
mov edx, dword [ebp - 0x1600]
mov eax, dword [ebp - 0x3a8]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x1604], eax
jne 0x10037c67
mov ecx, dword [ebp - 0x764]
mov dword [ebp - 0x3e0], ecx
jmp 0x10037f30
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x1604]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1608], edx
cmp dword [ebp - 0x1608], 0
jne 0x10037c99
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3e0], eax
jmp 0x10037f30
mov ecx, dword [ebp - 0x3a8]
add ecx, dword [ebp - 0x1608]
mov dword [ebp - 0x758], ecx
jne 0x10037cbe
mov edx, dword [ebp - 0x764]
mov dword [ebp - 0x3e0], edx
jmp 0x10037f30
mov eax, dword [ebp - 0x758]
mov ecx, dword [ebp - 0x3a8]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x198c], ecx
mov edx, dword [ebp - 0x758]
mov eax, dword [ebp - 0x3a8]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x1990], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x3a8]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x1994], edx
mov dword [ebp - 0x75c], 0
jmp 0x10037d18
mov eax, dword [ebp - 0x75c]
add eax, 1
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp - 0x758]
mov edx, dword [ebp - 0x75c]
cmp edx, dword [ecx + 0x18]
jae 0x10037f24
mov eax, dword [ebp - 0x75c]
mov ecx, dword [ebp - 0x198c]
mov edx, dword [ebp - 0x3a8]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x760], edx
mov eax, dword [ebp - 0x75c]
mov ecx, dword [ebp - 0x1990]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x1994]
mov ecx, dword [ebp - 0x3a8]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x1998], ecx
mov dword [ebp - 0x1c8], 0
jmp 0x10037d88
mov edx, dword [ebp - 0x1c8]
add edx, 1
mov dword [ebp - 0x1c8], edx
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x1c8]
movsx ecx, byte [eax]
test ecx, ecx
je 0x10037e3a
mov edx, dword [ebp - 0x1c8]
movsx eax, byte [ebp + edx - 0x898]
test eax, eax
je 0x10037e3a
push esi
push edi
add esp, 4
add esi, 0xc744
and esi, 0x10c6a
or esi, 0x4f3
and esi, 0x2010
pop esi
push edx
push ebx
add esp, 4
add edx, 0xd2f2
pop edx
push eax
xor eax, 0x8bb6
pop eax
mov ecx, dword [ebp - 0x760]
add ecx, dword [ebp - 0x1c8]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1c8]
movsx ecx, byte [ebp + eax - 0x898]
cmp edx, ecx
je 0x10037e2c
mov edx, dword [ebp - 0x760]
add edx, dword [ebp - 0x1c8]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1c8]
movsx edx, byte [ebp + ecx - 0x898]
cmp eax, edx
jne 0x10037e33
jmp 0x10037d79
jmp 0x10037e3a
push ecx
push ecx
add esp, 4
xor ecx, 0x11519
xor ecx, 0xe43
add ecx, 0xdb76
and ecx, 0xdb34
pop ecx
push ecx
push eax
add esp, 4
add ecx, 0xbc9d
pop ecx
push eax
add eax, 0x2074
pop eax
mov eax, dword [ebp - 0x760]
add eax, dword [ebp - 0x1c8]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1c8]
movsx eax, byte [ebp + edx - 0x898]
cmp ecx, eax
jne 0x10037e99
mov dword [ebp - 0xcbc], 0
jmp 0x10037f08
push edx
push eax
add esp, 4
call 0x10037eac
add byte [edi + eax*2 + 0x33], cl
inc edx
inc esi
cmp dword [ecx + 0x3c], eax
add esp, 4
add edx, 0x5b70
xor edx, 0xc14e
pop edx
push ebx
jmp 0x10037ec4
and ebx, 0xd3f7
pop ebx
mov ecx, dword [ebp - 0x760]
add ecx, dword [ebp - 0x1c8]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1c8]
movsx ecx, byte [ebp + eax - 0x898]
or ecx, 0x20
cmp edx, ecx
jge 0x10037efe
mov dword [ebp - 0xcbc], 0xffffffff
jmp 0x10037f08
mov dword [ebp - 0xcbc], 1
cmp dword [ebp - 0xcbc], 0
jne 0x10037f1f
mov edx, dword [ebp - 0x1998]
mov dword [ebp - 0x3e0], edx
jmp 0x10037f30
jmp 0x10037d09
mov eax, dword [ebp - 0x764]
mov dword [ebp - 0x3e0], eax
cmp dword [ebp - 0x3e0], 0
je 0x1003800b
push esi
push eax
add esp, 4
add esi, 0x11dec
add esi, 0x3261
or esi, 0x163ac
or esi, 0x1377e
pop esi
push ebx
and ebx, 0x126bf
pop ebx
push edx
push esi
add esp, 4
and edx, 0xa88e
pop edx
mov ecx, dword [ebp - 0x3e0]
mov dword [ebp - 0x1d24], ecx
push edi
xor edi, 0x8782
jmp 0x10037f87
call 0x10037f93
add byte [0x3b3c4546], dh
cmp dword [ebx - 0x307efb3c], eax
movsb byte es:[edi], byte [esi]
cmp eax, dword [eax]
add byte [edi + 0x50], bl
or eax, 0x10a
pop eax
push eax
add eax, 0x564
pop eax
mov edx, dword [ebp - 0x1d24]
mov dword [ebp - 0x199c], edx
lea eax, [ebp - 0x1754]
push eax
call dword [ebp - 0x199c]
test eax, eax
jne 0x1003800b
push edi
or edi, 0x604e
pop edi
push esi
xor esi, 0x68c2
jmp 0x10037fe2
jmp 0x10037fe8
call 0x10037ff8
add byte [eax + 0x36], dl
xor cl, byte [esi + eax*2 + 0x4b]
xor esi, dword [ebx]
dec ebp
xor al, byte [ebx - 0x38a1fb3c]
test dword [eax - 8], esp
invalid
push edi
push ecx
add esp, 4
sub edi, 0x9a30
pop edi
push ecx
push ebx
add esp, 4
add ecx, 0x18571
pop ecx
push ecx
sub ecx, 0xbe6b
xor ecx, 0xefa0
and ecx, 0x14e1a
add ecx, 0x8268
pop ecx
mov ecx, dword fs:[0x18]
mov dword [ebp - 0x19a0], ecx
mov edx, dword [ebp - 0x19a0]
mov eax, dword [edx + 0x30]
mov dword [ebp - 0x19a4], eax
mov ecx, dword [ebp - 0x19a4]
mov dword [ebp - 0x160c], ecx
push eax
push eax
add esp, 4
jmp 0x10038071
call 0x10038081
add byte [edi], dh
inc ebx
push eax
xor al, byte [edi + 0x42]
inc ebx
cmp edi, dword [eax]
inc eax
add esp, 4
pop eax
push esi
push edi
add esp, 4
add esi, 0x67e7
xor esi, 0x2458
pop esi
cmp dword [ebp - 0x160c], 0
jne 0x100380af
mov dword [ebp - 0x2f0], 0
jmp 0x10038356
mov edx, dword [ebp - 0x160c]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0xcc8], ecx
push edx
and edx, 0xf971
xor edx, 0x5e43
pop edx
push edi
jmp 0x100380d8
pop edi
push eax
push ebx
add esp, 4
jmp 0x100380e6
add eax, 0x5df3
add eax, 0x93c
pop eax
cmp dword [ebp - 0xcc8], 0
jne 0x1003810b
mov dword [ebp - 0x2f0], 0
jmp 0x10038356
mov edx, dword [ebp - 0xcc8]
mov dword [ebp - 0x508], edx
push esi
push eax
add esp, 4
sub esi, 0x11527
and esi, 0x133c3
sub esi, 0x5b9a
pop esi
push ecx
add ecx, 0xf094
or ecx, 0xd4b3
and ecx, 0xf7d2
xor ecx, 0x17739
pop ecx
lea eax, [ebp - 0x1754]
mov dword [ebp - 0xcc4], eax
mov ecx, dword [ebp - 0x508]
mov edx, dword [ecx + 0x30]
mov dword [ebp - 0xcc0], edx
xor eax, eax
mov word [ebp - 0x234], ax
xor ecx, ecx
mov word [ebp - 0x48], cx
push ebx
sub ebx, 0x13649
or ebx, 0x1287b
pop ebx
push esi
and esi, 0x11e46
pop esi
push ecx
jmp 0x10038190
pop ecx
push eax
xor eax, 0xcdc2
or eax, 0x2543
sub eax, 0x6750
pop eax
mov edx, dword [ebp - 0xcc0]
mov ax, word [edx]
mov word [ebp - 0x104e], ax
mov ecx, dword [ebp - 0xcc0]
add ecx, 2
mov dword [ebp - 0xcc0], ecx
mov dx, word [ebp - 0x104e]
mov word [ebp - 0x234], dx
mov eax, dword [ebp - 0xcc4]
mov cx, word [eax]
mov word [ebp - 0x1050], cx
mov edx, dword [ebp - 0xcc4]
add edx, 2
mov dword [ebp - 0xcc4], edx
mov ax, word [ebp - 0x1050]
mov word [ebp - 0x48], ax
push eax
push esi
add esp, 4
add eax, 0x1105e
jmp 0x1003820c
add eax, 0x375f
or eax, 0x18249
pop eax
push ebx
call 0x1003822a
add byte [edi + 0x40], cl
inc ebp
dec ebp
aas
xor al, 0x4f
aas
dec edx
xor al, 0x83
les eax, [ebx + ebx*2]
movzx ecx, word [ebp - 0x48]
test ecx, ecx
jne 0x1003824b
movzx edx, word [ebp - 0x234]
movzx eax, word [ebp - 0x48]
sub edx, eax
mov dword [ebp - 0x1614], edx
jmp 0x100382a5
movzx ecx, word [ebp - 0x234]
movzx edx, word [ebp - 0x48]
cmp ecx, edx
je 0x10038173
movzx eax, word [ebp - 0x234]
xor eax, 0x20
movzx ecx, word [ebp - 0x48]
cmp eax, ecx
je 0x10038173
movzx edx, word [ebp - 0x234]
movzx eax, word [ebp - 0x48]
cmp edx, eax
jge 0x1003828f
mov dword [ebp - 0x1610], 0xffffffff
jmp 0x10038299
mov dword [ebp - 0x1610], 1
mov ecx, dword [ebp - 0x1610]
mov dword [ebp - 0x1614], ecx
cmp dword [ebp - 0x1614], 0
jne 0x100382ee
push edi
push ebx
add esp, 4
add edi, 0xd4f4
and edi, 0x13492
pop edi
push ecx
jmp 0x100382ca
jmp 0x100382d3
or ecx, 0x3ffb
add ecx, 0x7391
pop ecx
mov edx, dword [ebp - 0x508]
mov dword [ebp - 0x2f0], edx
jmp 0x10038356
push ecx
jmp 0x100382f8
and ecx, 0x84c3
pop ecx
push edx
sub edx, 0x7289
pop edx
push eax
push esi
add esp, 4
jmp 0x10038313
sub eax, 0xf6b9
and eax, 0x1681d
pop eax
mov eax, dword [ebp - 0x508]
mov ecx, dword [eax]
mov dword [ebp - 0x508], ecx
mov edx, dword [ebp - 0x508]
cmp edx, dword [ebp - 0xcc8]
je 0x1003834c
mov eax, dword [ebp - 0x508]
cmp dword [eax + 0x30], 0
jne 0x10038117
mov dword [ebp - 0x2f0], 0
push edi
push edx
add esp, 4
and edi, 0x65e6
xor edi, 0x14949
add edi, 0x2aed
or edi, 0xece2
pop edi
push ecx
sub ecx, 0xa6d
pop ecx
push edx
push ebx
add esp, 4
or edx, 0x1683
pop edx
mov ecx, dword [ebp - 0x2f0]
mov edx, dword [ecx + 0x18]
mov dword [ebp - 0x338], edx
push esi
push ecx
add esp, 4
or esi, 0xeea3
and esi, 0x635d
pop esi
push edx
push esi
add esp, 4
add edx, 0xf438
pop edx
push eax
and eax, 0xa4b7
add eax, 0x1b88
or eax, 0x28c1
pop eax
mov dword [ebp - 0x774], 0
mov eax, dword [ebp - 0x338]
mov dword [ebp - 0x1618], eax
cmp dword [ebp - 0x1618], 0
jne 0x100383f9
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x50c], ecx
jmp 0x100386ea
mov edx, dword [ebp - 0x1618]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x3c]
mov dword [ebp - 0x161c], eax
jne 0x10038421
mov ecx, dword [ebp - 0x774]
mov dword [ebp - 0x50c], ecx
jmp 0x100386ea
mov edx, 8
imul eax, edx, 0
mov ecx, dword [ebp - 0x161c]
mov edx, dword [ecx + eax + 0x78]
mov dword [ebp - 0x1620], edx
cmp dword [ebp - 0x1620], 0
jne 0x10038453
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x50c], eax
jmp 0x100386ea
mov ecx, dword [ebp - 0x338]
add ecx, dword [ebp - 0x1620]
mov dword [ebp - 0x768], ecx
jne 0x10038478
mov edx, dword [ebp - 0x774]
mov dword [ebp - 0x50c], edx
jmp 0x100386ea
mov eax, dword [ebp - 0x768]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + 0x20]
mov dword [ebp - 0x19a8], ecx
mov edx, dword [ebp - 0x768]
mov eax, dword [ebp - 0x338]
add eax, dword [edx + 0x24]
mov dword [ebp - 0x19ac], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + 0x1c]
mov dword [ebp - 0x19b0], edx
mov dword [ebp - 0x76c], 0
jmp 0x100384d2
mov eax, dword [ebp - 0x76c]
add eax, 1
mov dword [ebp - 0x76c], eax
mov ecx, dword [ebp - 0x768]
mov edx, dword [ebp - 0x76c]
cmp edx, dword [ecx + 0x18]
jae 0x100386de
mov eax, dword [ebp - 0x76c]
mov ecx, dword [ebp - 0x19a8]
mov edx, dword [ebp - 0x338]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x770], edx
mov eax, dword [ebp - 0x76c]
mov ecx, dword [ebp - 0x19ac]
movzx edx, word [ecx + eax*2]
mov eax, dword [ebp - 0x19b0]
mov ecx, dword [ebp - 0x338]
add ecx, dword [eax + edx*4]
mov dword [ebp - 0x19b4], ecx
mov dword [ebp - 0x1cc], 0
jmp 0x10038542
mov edx, dword [ebp - 0x1cc]
add edx, 1
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x1cc]
movsx ecx, byte [eax]
test ecx, ecx
je 0x100385f4
mov edx, dword [ebp - 0x1cc]
movsx eax, byte [ebp + edx - 0x87c]
test eax, eax
je 0x100385f4
push eax
call 0x1003857f
add byte [esi], dh
inc esp
xor eax, 0x3d333f41
cmp edi, dword [esi]
add esp, 4
call 0x10038591
add byte [ebx + 0x34], al
xor al, 0x41
dec esi
dec ebp
inc ebx
dec esi
add esp, 4
add eax, 0x8784
and eax, 0x1389f
pop eax
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x1cc]
movsx edx, byte [ecx]
mov eax, dword [ebp - 0x1cc]
movsx ecx, byte [ebp + eax - 0x87c]
cmp edx, ecx
je 0x100385e6
mov edx, dword [ebp - 0x770]
add edx, dword [ebp - 0x1cc]
movsx eax, byte [edx]
xor eax, 0x20
mov ecx, dword [ebp - 0x1cc]
movsx edx, byte [ebp + ecx - 0x87c]
cmp eax, edx
jne 0x100385ed
jmp 0x10038533
jmp 0x100385f4
push edx
push edx
add esp, 4
xor edx, 0xde12
jmp 0x10038606
and edx, 0x1236e
pop edx
push esi
push edi
add esp, 4
jmp 0x10038619
xor esi, 0xd884
and esi, 0xbc5c
pop esi
mov eax, dword [ebp - 0x770]
add eax, dword [ebp - 0x1cc]
movsx ecx, byte [eax]
mov edx, dword [ebp - 0x1cc]
movsx eax, byte [ebp + edx - 0x87c]
cmp ecx, eax
jne 0x10038653
mov dword [ebp - 0xccc], 0
jmp 0x100386c2
push edx
xor edx, 0xdc5f
or edx, 0xf2f3
pop edx
push edi
push esi
add esp, 4
sub edi, 0x149f9
sub edi, 0xda82
jmp 0x1003867b
jmp 0x10038684
pop edi
mov ecx, dword [ebp - 0x770]
add ecx, dword [ebp - 0x1cc]
movsx edx, byte [ecx]
or edx, 0x20
mov eax, dword [ebp - 0x1cc]
movsx ecx, byte [ebp + eax - 0x87c]
or ecx, 0x20
cmp edx, ecx
jge 0x100386b8
mov dword [ebp - 0xccc], 0xffffffff
jmp 0x100386c2
mov dword [ebp - 0xccc], 1
cmp dword [ebp - 0xccc], 0
jne 0x100386d9
mov edx, dword [ebp - 0x19b4]
mov dword [ebp - 0x50c], edx
jmp 0x100386ea
jmp 0x100384c3
mov eax, dword [ebp - 0x774]
mov dword [ebp - 0x50c], eax
mov ecx, dword [ebp - 0x50c]
mov dword [ebp - 0x7a0], ecx
push eax
push ebx
add esp, 4
xor eax, 0x16ade
pop eax
push eax
add eax, 0x11837
call 0x10038717
add byte [eax], bh
dec ebp
xor al, 0x42
aaa
inc esp
xor eax, 0x4c4834e
and eax, 0x16cce
jmp 0x10038727
pop eax
mov edx, dword [ebp - 0x3fc]
add edx, 0xe
mov dword [ebp - 0x1a04], edx
push esi
xor esi, 0x57d4
sub esi, 0xbf7f
xor esi, 0xa57b
and esi, 0x3f94
pop esi
push esi
push ebx
add esp, 4
add esi, 0x1f0f
or esi, 0x83e8
sub esi, 0xfe84
pop esi
cmp dword [ebp - 0x3fc], 0
je 0x1003877b
cmp dword [ebp - 0xae4], 0
jne 0x100387c1
push ecx
push esi
add esp, 4
and ecx, 0x769d
sub ecx, 0xa8f9
add ecx, 0x78a6
pop ecx
push ecx
push esi
add esp, 4
sub ecx, 0x6f33
jmp 0x100387a6
or ecx, 0x9bb1
pop ecx
mov eax, dword [ebp - 0x7a0]
mov dword [ebp - 0x19b8], eax
push 0
call dword [ebp - 0x19b8]
mov dword [ebp - 0x2058], 0xa
push ebx
push ebx
add esp, 4
call 0x100387df
add byte [ecx + 0x4d], cl
xor cl, byte [ecx + 0x48]
dec ebx
xor al, 0x45
xor al, 0x83
les eax, [ecx + eax*4]
ret