Function at 0x10002b53
Capabilities:
Access peb ldr_data
Check os version
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x11c
mov eax, dword [0x100223c4]
mov edx, dword [0x100223c0]
lea ebx, [eax - 1]
imul ebx, eax
xor esi, esi
dec esi
mov ecx, ebx
mov edi, ebx
mov ebp, ebx
xor ecx, esi
and edi, 0x8324b95c
mov eax, ecx
mov dword [esp + 8], ecx
and eax, 0x7cdb46a3
or edi, eax
mov eax, ecx
xor edi, 0x7cdb46a2
or edi, ecx
cmp edi, esi
mov edi, ebp
mov esi, ecx
setne byte [esp + 0x34]
sete byte [esp + 0x17]
cmp edx, 9
setg bl
cmp edx, 0xa
setl bh
setl byte [esp + 0x18]
and eax, 0xda148135
and edi, 0x25eb7eca
mov dh, bl
mov dl, bl
or edi, eax
mov byte [esp + 2], bh
xor edi, 0x25eb7ecb
mov eax, edi
xor eax, ecx
mov ecx, ebx
mov ecx, 0xaa509a78
test eax, edi
mov edi, 0x7504704c
sete al
setne ah
or dh, ah
and al, bl
and ah, bh
or ah, al
mov bh, ah
xor bh, dh
test ah, ah
mov eax, 0xaa509a78
cmovne eax, edi
test dh, dh
cmovne eax, ecx
test bh, bh
mov ecx, esi
mov ebx, ebp
mov esi, 0xaa509a78
cmove eax, edi
mov edi, ebp
mov dword [esp + 0xe4], eax
mov eax, 0xfffffffe
and ecx, eax
xor eax, eax
inc eax
mov dword [esp + 0x20], ecx
xor edi, eax
or edi, ecx
xor eax, eax
mov cl, byte [esp + 2]
mov ebp, edi
dec eax
mov dword [esp + 0x38], edi
xor ebp, eax
mov eax, 0x47c54d89
mov dword [esp + 0x24], ebp
and ebp, 0xb83ab276
and edi, eax
or edi, ebp
mov dh, cl
mov ebp, 0xaa509a78
xor edi, eax
mov edi, 0xc93c5411
setne ah
sete al
xor dh, ah
and al, dl
and ah, cl
and dh, cl
or ah, al
mov al, dh
xor al, ah
test ah, ah
cmovne ebp, edi
test dh, dh
cmove ebp, esi
mov esi, dword [esp + 8]
test al, al
cmovne ebp, edi
mov edi, 0x7102435a
mov dword [esp + 0xf4], ebp
mov ebp, ebx
and ebp, edi
mov eax, esi
and eax, 0x8efdbca5
or ebp, eax
mov eax, 0xfffffffe
xor edi, ebp
xor ebp, 0x8efdbca4
and edi, eax
or ebp, edi
xor eax, eax
mov edi, 0x8ab60833
dec eax
cmp ebp, eax
mov ah, cl
mov ebp, 0x5831dc76
setne al
xor ah, al
xor al, dl
and ah, cl
mov ecx, 0x7629f792
mov dh, ah
xor dh, al
test al, al
cmovne ecx, edi
test ah, ah
mov eax, 0x7629f792
cmove ecx, eax
test dh, dh
cmovne ecx, edi
mov edi, esi
mov esi, ebx
mov dword [esp + 0xe0], ecx
mov ecx, ebx
and edi, 0xa7ce2389
and ecx, ebp
or ecx, edi
mov edi, 0xfffffffe
xor ebp, ecx
xor ecx, 0xa7ce2388
and ebp, edi
or ecx, ebp
xor ebx, ebx
mov ebp, 0xa6305d0c
mov edi, ecx
dec ebx
and ecx, ebp
xor edi, ebx
mov bh, byte [esp + 2]
mov bl, dl
and edi, 0x59cfa2f3
mov byte [esp + 0x28], bl
or ecx, edi
mov edi, 0x85dda317
xor ecx, ebp
mov ebp, dword [esp + 8]
setne cl
sete ch
mov dh, bh
and ch, dl
and dh, cl
or dh, ch
mov ch, dl
and ch, cl
xor cl, dl
or cl, ch
mov ch, cl
xor ch, dh
cmove eax, edi
test cl, cl
mov ecx, 0x703df160
cmovne edi, eax
test dh, dh
cmove edi, eax
mov eax, ebp
mov dword [esp + 0xdc], edi
mov edi, esi
and eax, 0x8fc20e9f
and edi, ecx
or edi, eax
mov eax, 0xfffffffe
xor ecx, edi
xor edi, 0x8fc20e9e
and ecx, eax
or edi, ecx
xor eax, eax
dec eax
cmp edi, eax
mov ah, bh
mov edi, 0xe628932d
setne al
sete cl
xor al, dl
or ah, cl
mov dl, 1
xor cl, bl
xor ah, dl
mov edx, 0xceccbc0c
or ah, al
mov al, cl
xor al, ah
cmovne edi, edx
test ah, ah
mov eax, esi
cmovne edx, edi
test cl, cl
cmovne edx, edi
xor ecx, ecx
mov edi, 0xe628932d
inc ecx
mov dword [esp + 0xd8], edx
mov edx, ebx
and eax, ecx
add eax, dword [esp + 0x20]
mov ecx, eax
xor ecx, ebp
test ecx, eax
mov eax, ebx
setne cl
sete ah
xor dl, cl
and al, cl
mov byte [esp + 0x20], cl
mov byte [esp + 0x40], ah
or al, dl
mov byte [esp + 0x4c], dl
mov dl, bh
xor dl, ah
mov ecx, eax
xor cl, dl
test al, al
mov eax, 0x830764ec
mov byte [esp + 0x44], dl
cmovne eax, edi
test dl, dl
mov edx, ebx
mov edx, 0xcd15ab2
cmove eax, edi
test cl, cl
mov ecx, 0x830764ec
mov edi, 0x6cd86fe8
cmove eax, ecx
mov ecx, ebp
mov ebp, esi
and ecx, 0x93279017
and ebp, edi
mov dword [esp + 0xd4], eax
mov eax, 0xfffffffe
or ebp, ecx
mov ch, bh
xor edi, ebp
xor ebp, 0x93279016
and edi, eax
or ebp, edi
xor eax, eax
mov edi, 0x49456943
dec eax
cmp ebp, eax
mov ebp, esi
setne cl
sete al
mov dword [esp + 0xc], ebp
xor ch, cl
and al, bl
and cl, bh
and ch, bh
or cl, al
mov al, ch
xor al, cl
mov eax, 0xb420c571
cmovne edi, eax
test cl, cl
cmove eax, edi
test ch, ch
cmove eax, edi
mov edi, esi
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 8]
and edi, 0xd6d824ef
mov ecx, eax
mov esi, eax
and ecx, 0x2927db10
or edi, ecx
xor edi, 0xd6d824ee
mov ecx, edi
xor ecx, eax
mov ah, 0xff
test ecx, edi
mov edi, 0x49456943
setne cl
sete al
mov ch, cl
and al, bl
and ch, bh
or al, ch
mov ch, bl
and ch, cl
xor cl, bl
or cl, ch
mov ch, cl
xor ch, al
test cl, cl
cmovne edx, edi
test al, al
cmove edx, edi
test ch, ch
mov ecx, 0xcd15ab2
mov edi, ebp
cmove edx, ecx
mov ecx, esi
and edi, 0xa5f8068a
and ecx, 0x5a07f975
mov dword [esp + 0xe8], edx
mov edx, esi
mov esi, ebp
mov ebp, 0x1c9a59ce
or edi, ecx
mov ch, byte [esp + 2]
xor edi, 0x5a07f974
or edi, edx
xor ebx, ebx
dec ebx
cmp edi, ebx
mov edi, 0xb98c7ca2
sete al
xor al, ch
mov cl, al
xor cl, ah
and cl, ch
mov ch, al
xor ch, cl
test al, al
mov eax, 0x1c9a59ce
cmovne eax, edi
test cl, cl
cmove eax, ebp
test ch, ch
mov ecx, edx
cmovne eax, edi
mov edi, esi
and ecx, 0x8f1846f9
mov esi, edx
and edi, 0x70e7b906
mov dword [esp + 0xcc], eax
or edi, ecx
xor edi, 0x8f1846f8
or edi, edx
mov edx, dword [esp + 0x38]
cmp edi, ebx
mov bl, byte [esp + 0x28]
mov edi, 0xf303458c
mov bh, byte [esp + 2]
setne al
mov ecx, ebx
or cl, al
xor al, bl
mov ch, cl
xor ch, al
test al, al
mov eax, 0x1c9a59ce
cmovne eax, edi
test cl, cl
cmovne eax, ebp
test ch, ch
mov ecx, dword [esp + 0x24]
mov ebp, edx
cmove eax, edi
mov edi, 0xe88d7072
and ebp, edi
mov dword [esp + 0xc8], eax
mov ah, 1
and ecx, 0x17728f8d
or ebp, ecx
mov cl, bh
xor ebp, edi
mov edi, 0x6af3f033
mov ebp, dword [esp + 0xc]
sete al
mov ch, al
xor cl, al
or al, bh
xor al, ah
xor ch, bl
or al, cl
mov cl, ch
xor cl, al
test al, al
mov eax, 0x8ceac754
cmovne eax, edi
test ch, ch
cmovne eax, edi
test cl, cl
mov ecx, 0x8ceac754
cmovne eax, ecx
mov ecx, esi
and ebp, 0x112d6f86
and ecx, 0xeed29079
mov dword [esp + 0xc4], eax
or ebp, ecx
xor ebp, 0x112d6f87
mov ecx, ebp
xor ecx, esi
test ecx, ebp
mov ecx, ebx
mov ebp, 0xb8071daa
setne al
and cl, al
xor al, bl
or cl, al
mov ch, cl
xor ch, al
test cl, cl
cmovne ebp, edi
test al, al
mov eax, dword [esp + 0x24]
cmove ebp, edi
test ch, ch
mov ecx, 0xb8071daa
cmove ebp, ecx
mov ecx, 0xe3346f36
and edx, ecx
mov dword [esp + 0xf0], ebp
mov ebp, 0x1c4eab8d
and eax, 0x1ccb90c9
or edx, eax
xor edx, ecx
mov dl, 0xff
sete al
xor al, bh
mov ecx, eax
xor cl, dl
mov edx, 0x7d14ff1b
and cl, bh
mov ch, cl
xor ch, al
test al, al
mov eax, 0x7d14ff1b
cmovne eax, ebp
test cl, cl
cmove eax, edx
mov edx, dword [esp + 0xc]
test ch, ch
mov ecx, esi
cmovne eax, ebp
mov ebp, 0xa18e1f7c
and ecx, 0x5e71e083
mov dword [esp + 0xec], eax
mov eax, edx
and eax, ebp
or eax, ecx
mov ecx, 0xfffffffe
xor ebp, eax
xor eax, 0x5e71e082
and ebp, ecx
or eax, ebp
xor edi, edi
mov ebp, 0x29873729
mov ecx, eax
dec edi
and eax, ebp
xor ecx, edi
mov edi, 0x3765e81d
and ecx, 0xd678c8d6
or eax, ecx
mov cl, bh
mov ch, 1
xor eax, ebp
mov ebp, 0x3204be36
sete al
mov ah, al
xor cl, al
or al, bh
xor al, ch
xor ah, bl
or al, cl
mov cl, ah
xor cl, al
mov ecx, 0x8e301b3
cmovne ecx, edi
test al, al
mov al, bl
cmovne edi, ecx
test ah, ah
mov ah, byte [esp + 0x4c]
cmovne edi, ecx
or al, byte [esp + 0x20]
mov dword [esp + 0xc0], edi
mov edi, 0x703d94e4
mov ecx, eax
xor cl, ah
mov ecx, 0x8e301b3
cmove ecx, edi
test ah, ah
cmove edi, ecx
test al, al
mov eax, esi
cmovne edi, ecx
mov ecx, edx
and eax, 0xa96a0642
mov edx, 0x53dd72d1
and ecx, 0x5695f9bd
mov dword [esp + 0xbc], edi
or ecx, eax
xor ecx, 0xa96a0643
or ecx, esi
xor edi, edi
dec edi
cmp ecx, edi
mov ch, bh
setne al
sete cl
and cl, bl
and ch, al
or ch, cl
mov cl, bl
and cl, al
xor al, bl
or al, cl
mov cl, al
xor cl, ch
test al, al
mov eax, 0xcde342f9
cmovne eax, edx
test ch, ch
cmove eax, edx
test cl, cl
mov ecx, 0xcde342f9
cmove eax, ecx
mov ecx, esi
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xc]
and ecx, 0xcdfb41c9
and eax, ebp
or eax, ecx
xor ebp, eax
xor eax, 0x8d3b41c1
mov ecx, ebp
and eax, 0x9d3b71e7
and ecx, 0x62c48e18
or ecx, eax
mov eax, 0xfffffffe
xor ecx, 0x62c48e19
and ebp, eax
or ebp, ecx
mov ecx, 0xe31306a1
mov eax, ebp
and ebp, ecx
xor eax, edi
mov edi, 0x9cd44d63
and eax, 0x1cecf95e
or ebp, eax
mov ah, bh
xor ebp, ecx
mov ch, 1
mov ebp, 0x60475c92
sete al
setne cl
xor ah, al
or al, bh
xor cl, bl
xor al, ch
or al, ah
mov ah, al
xor ah, cl
cmove edx, edi
test al, al
mov eax, esi
cmovne edi, edx
test cl, cl
mov ecx, dword [esp + 0xc]
cmove edi, edx
and eax, 0xd4282fe6
mov edx, esi
mov dl, 0xff
mov dword [esp + 0x4c], edi
mov edi, 0x3440e76
and ecx, 0x2bd7d019
or ecx, eax
xor ecx, 0xd4282fe7
or ecx, esi
xor esi, esi
dec esi
cmp ecx, esi
sete al
xor al, bh
xor dl, al
mov ecx, eax
and dl, bh
xor cl, dl
mov ch, dl
test al, al
mov eax, 0x8f4124ff
mov edx, 0x3440e76
cmovne edx, eax
test ch, ch
cmove edx, edi
test cl, cl
mov edi, 0x56aafba3
cmovne edx, eax
cmp dword [esp + 0x38], esi
mov ah, bh
mov esi, 0x1d9544bd
mov dword [esp + 0xb4], edx
mov dl, bh
mov bh, bl
setne cl
sete al
or bh, cl
xor dl, al
mov ch, bh
xor ch, dl
test dl, dl
mov edx, 0x3440e76
cmovne edx, esi
and al, bl
and cl, ah
mov bl, ah
mov esi, 0xe958e40a
mov byte [esp + 0x48], ch
or cl, al
mov al, bh
xor al, cl
mov eax, 0x7d14ff1b
cmove eax, esi
mov esi, 0xe01fa3e3
cmovne edi, esi
mov esi, 0x51dce568
mov dword [esp + 0x24], eax
cmovne esi, ebp
test cl, cl
mov ebp, 0xe958e40a
mov ecx, 0x56aafba3
cmove ebp, eax
mov eax, 0x51dce568
cmove ecx, edi
cmove eax, esi
test bh, bh
mov bh, 1
cmovne ebp, dword [esp + 0x24]
cmovne ecx, edi
cmovne eax, esi
mov edi, 0xe01fa3e3
mov dword [esp + 0xac], eax
mov eax, 0x1d9544bd
mov dword [esp + 0x24], ecx
mov dword [esp + 0x38], ebp
mov ebp, 0x3440e76
cmovne edx, ebp
cmp byte [esp + 0x48], 0
mov ebp, dword [esp + 0xc]
cmove edx, eax
mov ecx, ebp
mov dword [esp + 0xb0], edx
mov edx, dword [esp + 8]
and ecx, 0xf8b85b6b
mov eax, edx
mov esi, edx
and eax, 0x747a494
or ecx, eax
xor ecx, 0xf8b85b6a
mov eax, ecx
xor eax, edx
mov dh, byte [esp + 0x28]
mov dl, bl
test eax, ecx
sete cl
setne al
xor dl, cl
or cl, bl
xor al, dh
xor cl, bh
or cl, al
mov eax, ecx
xor al, dl
test cl, cl
mov ecx, 0x745b626b
cmovne ecx, edi
test dl, dl
mov dl, byte [esp + 0x20]
cmove ecx, edi
test al, al
mov eax, 0x745b626b
mov edi, 0xa7695e47
cmove ecx, eax
mov eax, ebx
mov dword [esp + 0x48], ecx
mov cl, byte [esp + 0x40]
and dl, bl
or al, cl
and cl, dh
xor al, bh
or dl, cl
mov ebx, ebp
or al, byte [esp + 0x44]
mov ah, dl
mov ecx, eax
xor cl, dl
test al, al
mov edx, 0xf1eeb767
mov al, byte [esp + 2]
cmovne edx, edi
test ah, ah
mov ah, byte [esp + 0x28]
cmove edx, edi
test cl, cl
mov ecx, 0xf1eeb767
cmove edx, ecx
mov ecx, esi
mov dword [esp + 0x20], edx
mov edx, ebp
and ecx, 0x27a854e0
mov ebp, esi
and edx, 0xd857ab1f
or edx, ecx
xor edx, 0xd857ab1e
mov ecx, edx
xor ecx, esi
mov esi, 0x2456705f
test ecx, edx
mov edx, eax
setne cl
xor dl, cl
xor cl, ah
and dl, al
mov ch, dl
xor ch, cl
cmovne edi, esi
test cl, cl
mov ecx, ebp
cmove esi, edi
test dl, dl
mov edx, 0xb21c5be3
cmove esi, edi
mov edi, ebx
and ecx, 0x4de3a41c
and edi, edx
mov dword [esp + 0x44], esi
mov esi, 0xfffffffe
or edi, ecx
xor edx, edi
xor edi, 0x8e18008
mov ecx, edx
and edi, 0x18edd3eb
and edx, esi
mov esi, 0xb0262819
and ecx, 0xe7122c14
or ecx, edi
mov edi, 0x148f2918
xor ecx, 0xe7122c15
or edx, ecx
xor ecx, ecx
dec ecx
cmp edx, ecx
mov ch, al
mov dh, al
setne cl
sete dl
or ch, dl
and dh, cl
and dl, ah
xor cl, ah
or dh, dl
mov dl, 1
xor ch, dl
or ch, cl
mov cl, ch
xor cl, dh
test ch, ch
cmovne esi, edi
test dh, dh
mov edx, 0x16b1b4a3
cmove esi, edi
test cl, cl
mov ecx, 0xb0262819
mov edi, ebp
cmove esi, ecx
mov ecx, ebp
mov ebp, ebx
and ecx, 0xe94e4b5c
and ebp, edx
mov dword [esp + 0x40], esi
mov esi, 0xfffffffe
or ebp, ecx
xor edx, ebp
xor ebp, 0x40424150
mov ecx, edx
and ebp, 0x52d37170
and edx, esi
mov esi, 0x148f2918
and ecx, 0xad2c8e8f
or ecx, ebp
xor ecx, 0xad2c8e8e
or edx, ecx
xor ebp, ebp
mov ch, ah
dec ebp
cmp edx, ebp
mov ebp, 0x148f2918
sete cl
setne dl
and al, dl
and cl, ah
or ch, dl
mov edx, 0x5158e750
or al, cl
mov cl, al
xor cl, ch
test al, al
mov al, ah
mov al, 1
cmovne esi, edx
test ch, ch
cmovne esi, ebp
test cl, cl
mov ecx, edi
mov ebp, 0x42e3a4c7
cmove esi, edx
and ecx, 0xe12ce707
and ebx, 0x1ed318f8
mov dl, ah
or ebx, ecx
mov dword [esp + 0xa8], esi
mov esi, 0xc15dd2c9
xor ebx, 0xe12ce706
or ebx, edi
xor ecx, ecx
mov edi, 0x60475c92
dec ecx
cmp ebx, ecx
setne cl
xor dl, cl
and cl, ah
or cl, dl
mov ch, cl
xor ch, dl
test cl, cl
cmovne esi, edi
test dl, dl
mov dl, byte [esp + 0x34]
cmove esi, edi
test ch, ch
mov ecx, 0xc15dd2c9
mov edi, 0x42e3a4c7
cmove esi, ecx
mov ch, ah
mov dword [esp + 0xa4], esi
mov esi, 0xf2093541
mov cl, dl
and ch, dl
xor cl, ah
or ch, cl
mov dl, ch
xor dl, cl
mov edx, 0xf2093541
cmovne edx, edi
mov edi, dword [esp + 0x130]
test ch, ch
cmovne esi, edx
test cl, cl
mov ecx, 0x4a0184ea
cmove esi, edx
mov ebx, ecx
cmp ecx, 0xa1f5aba
jg 0x10003604
cmp ebx, 0xc15dd2c8
jle 0x10003666
cmp ebx, 0xef4ee4ae
jle 0x10003745
cmp ebx, 0xff9832e5
jle 0x1000388a
cmp ebx, 0x83c7588
jg 0x10003abf
cmp ebx, 0xff9832e6
je 0x100042ae
cmp ebx, 0x3440e76
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 4]
mov ecx, dword [esp + 4]
mov ecx, dword [esp + 4]
mov ecx, dword [esp + 4]
mov ecx, dword [esp + 4]
mov ecx, dword [esp + 4]
mov ecx, dword [esp + 4]
mov ecx, 0x1d9544bd
jmp 0x10003591
cmp ebx, 0x465fed3c
jg 0x100036e4
cmp ebx, 0x2456705e
jg 0x1000378d
cmp ebx, 0x13a8d9e0
jle 0x100038c8
cmp ebx, 0x1c4eab8c
jg 0x10003af7
cmp ebx, 0x13a8d9e1
je 0x10003e0b
cmp ebx, 0x148f2918
je 0x10003e21
cmp ebx, 0x16cf447d
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0xdc]
jmp 0x10003591
cmp ebx, 0xa2b6ebcc
jg 0x100037e1
cmp ebx, 0x8f4124fe
jle 0x1000391c
cmp ebx, 0x9b122cf6
jg 0x10003b3b
cmp ebx, 0x8f4124ff
je 0x10003e33
mov ecx, dword [esp + 0xf0]
cmp ebx, 0x9241a64c
je 0x10003591
cmp ebx, 0x96740f81
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0x70]
cmp dword [esp + 0x78], 0
mov edx, 0xe3eca36e
mov dword [esp + 0x94], ecx
mov ecx, 0xd4a23db3
mov ebx, dword [esp + 0x94]
cmove ecx, edx
mov dword [esp + 0x74], ebx
jmp 0x10003591
cmp ebx, 0x67a2ebfa
jg 0x10003836
cmp ebx, 0x51dce567
jle 0x10003958
cmp ebx, 0x60475c91
jg 0x10003b79
cmp ebx, 0x51dce568
je 0x10003e3d
cmp ebx, 0x53dd72d1
je 0x10003e47
cmp ebx, 0x56aafba3
mov ecx, ebx
jne 0x10003591
cmp byte [esp + 0x1c], 0
mov ecx, 0x37cb78fc
mov edx, 0x64c48e98
cmovne ecx, edx
jmp 0x100040bb
cmp ebx, 0xd4a23db2
jle 0x100039b8
cmp ebx, 0xe3eca36d
jg 0x10003baf
cmp ebx, 0xd4a23db3
je 0x10003e58
cmp ebx, 0xdc297086
je 0x10003e6f
cmp ebx, 0xe01fa3e3
mov ecx, ebx
jne 0x10003591
mov ecx, 0x745b626b
jmp 0x10003591
cmp ebx, 0x37cb78fb
jle 0x100039f3
cmp ebx, 0x3bb65a7b
jg 0x10003bf2
cmp ebx, 0x37cb78fc
je 0x10003e87
mov ecx, dword [esp + 0x48]
cmp ebx, 0x3929f9ca
je 0x10003591
cmp ebx, 0x3b8e5d01
mov ecx, ebx
jne 0x10003591
mov dword [esp + 0x28], 0
mov ecx, 0x950d4de
jmp 0x10003591
cmp ebx, 0xb0262818
jle 0x10003a3c
cmp ebx, 0xb82985ff
jg 0x10003c29
cmp ebx, 0xb0262819
je 0x10003e9d
cmp ebx, 0xb420c571
je 0x10003eb4
cmp ebx, 0xb8071daa
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x8c], ecx
mov ecx, dword [esp + 0xc4]
jmp 0x10003591
cmp ebx, 0x745b626a
jle 0x10003a78
cmp ebx, 0x762e6ffd
jg 0x10003c5d
mov ecx, dword [esp + 0x24]
cmp ebx, 0x745b626b
je 0x10003591
cmp ebx, 0x7504704c
je 0x10003edf
cmp ebx, 0x7629f792
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0x50]
mov ecx, dword [esp + 0x5c]
mov ecx, 0x85dda317
jmp 0x10003591
cmp ebx, 0xf2093540
jle 0x10003c9e
cmp ebx, 0xf2093541
je 0x10003f0c
cmp ebx, 0xf303458c
je 0x10003f16
cmp ebx, 0xf4fee380
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0xc8]
jmp 0x10003591
cmp ebx, 0xd932921
jle 0x10003ccf
cmp ebx, 0xd932922
je 0x10003f32
cmp ebx, 0x11690d4d
je 0x10003f4c
cmp ebx, 0x127d6281
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0xfc]
add ecx, 0x14
mov dword [esp + 0x50], ecx
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
mov dword [esp + 0x68], ecx
mov ecx, 0x2a9a5eb7
jmp 0x10003591
cmp ebx, 0x88c18844
jle 0x10003cf5
cmp ebx, 0x88c18845
je 0x10003f85
cmp ebx, 0x8ab60833
je 0x10003fa5
cmp ebx, 0x8ceac754
mov ecx, ebx
jne 0x10003591
mov ecx, 0xf4fee380
jmp 0x10003591
cmp ebx, 0x49456942
jle 0x10003d2a
cmp ebx, 0x49456943
je 0x10003faf
cmp ebx, 0x4a0184ea
je 0x10003fb9
cmp ebx, 0x5158e750
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0x54]
add ecx, 0x2c
mov dword [esp + 0x84], ecx
mov ecx, dword [esp + 0x84]
movzx ecx, word [ecx]
mov edx, dword [esp + 0x2c]
shr ecx, 1
cmp edx, ecx
mov ecx, dword [esp + 0x40]
setl byte [esp + 0x1a]
jmp 0x10003591
cmp ebx, 0xcde342f8
jle 0x10003d5a
cmp ebx, 0xcde342f9
je 0x10004013
cmp ebx, 0xceccbc0c
je 0x1000401d
cmp ebx, 0xd08894dd
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0x44]
jmp 0x10003591
cmp ebx, 0x2a9a5eb6
jle 0x10003d80
cmp ebx, 0x2a9a5eb7
je 0x1000403f
cmp ebx, 0x2b5ec44c
je 0x10004079
cmp ebx, 0x3765e81d
mov ecx, ebx
jne 0x10003591
cmp byte [esp + 0x1d], 0
mov ecx, 0xa2b6ebcd
mov edx, 0xef4ee4af
cmovne ecx, edx
jmp 0x10003591
cmp ebx, 0xa7329fbd
jle 0x10003db6
cmp ebx, 0xa7329fbe
je 0x10004094
cmp ebx, 0xa7695e47
je 0x100040ca
cmp ebx, 0xaa509a78
mov ecx, ebx
jne 0x10003591
mov ecx, 0xc93c5411
jmp 0x10003591
cmp ebx, 0x6f74de2d
jle 0x10003de3
cmp ebx, 0x6f74de2e
je 0x100040d4
cmp ebx, 0x703d94e4
je 0x100040ee
cmp ebx, 0x741cbe18
mov ecx, ebx
jne 0x10003591
mov edx, dword [esp + 0x90]
mov ecx, 0xd4a23db3
mov dword [esp + 0x74], edx
jmp 0x10003591
cmp ebx, 0x83c7589
je 0x10004298
cmp ebx, 0x8e301b3
je 0x10004109
cmp ebx, 0x950d4de
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xc], ecx
mov ecx, 0xff9832e6
jmp 0x10003591
mov ecx, dword [esp + 0x38]
cmp ebx, 0x1c4eab8d
je 0x10003591
cmp ebx, 0x1c9a59ce
je 0x1000411d
cmp ebx, 0x1d9544bd
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 4]
add ecx, 0x20
mov dword [esp + 0x88], ecx
mov ecx, dword [esp + 0xb4]
jmp 0x10003591
cmp ebx, 0x9b122cf7
je 0x1000412e
cmp ebx, 0x9ba7e00e
je 0x10004142
cmp ebx, 0x9cd44d63
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0x88]
mov word [esp + 0x62], cx
mov ecx, dword [esp + 0xb8]
jmp 0x10003591
cmp ebx, 0x60475c92
je 0x10004169
mov ecx, dword [esp + 0x4c]
cmp ebx, 0x649be293
je 0x10003591
cmp ebx, 0x64c48e98
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0xb0]
jmp 0x10003591
cmp ebx, 0xe3eca36e
je 0x1000417a
cmp ebx, 0xe628932d
je 0x10004190
cmp ebx, 0xe958e40a
mov ecx, ebx
jne 0x10003591
mov dword [esp + 0x78], 0
mov ecx, 0x96740f81
mov edx, dword [esp + 0x90]
mov dword [esp + 0x70], edx
jmp 0x10003591
cmp ebx, 0x3bb65a7c
je 0x100041a1
mov ecx, dword [esp + 0xe8]
cmp ebx, 0x3c0ee492
je 0x10003591
cmp ebx, 0x42e3a4c7
mov ecx, ebx
jne 0x10003591
mov ecx, 0xbfe79f38
jmp 0x10003591
cmp ebx, 0xb8298600
je 0x100041b3
cmp ebx, 0xb98c7ca2
je 0x100041e0
cmp ebx, 0xbfe79f38
mov ecx, ebx
jne 0x10003591
test edi, edi
mov ecx, esi
sete byte [esp + 0x19]
jmp 0x10003591
mov ecx, dword [esp + 0xf4]
cmp ebx, 0x762e6ffe
je 0x10003591
cmp ebx, 0x7d14ff1b
je 0x100041ea
cmp ebx, 0x7d231470
mov ecx, ebx
jne 0x10003591
movzx edx, word [esp + 0x60]
mov ecx, 0xa7329fbe
mov word [esp + 8], dx
jmp 0x10003591
cmp ebx, 0xef4ee4af
je 0x100041f4
cmp ebx, 0xf1eeb767
mov ecx, ebx
jne 0x10003591
cmp byte [esp + 0x1b], 0
mov ecx, 0xa7329fbe
mov edx, 0xdc297086
cmovne ecx, edx
jmp 0x10003f76
cmp ebx, 0xa1f5abb
je 0x1000420e
cmp ebx, 0xcd15ab2
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0xd0]
jmp 0x10003591
cmp ebx, 0x830764ec
je 0x1000422c
cmp ebx, 0x85dda317
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x5c]
cmp edx, ecx
mov ecx, dword [esp + 0xe0]
setne byte [esp + 0x1f]
jmp 0x10003591
cmp ebx, 0x465fed3d
je 0x10004245
cmp ebx, 0x466b7945
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 4]
cmp ecx, 0x5b
mov ecx, 0x3929f9ca
setl byte [esp + 0x1c]
jmp 0x10003591
cmp ebx, 0xc15dd2c9
je 0x1000425c
cmp ebx, 0xc93c5411
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0xe4]
jmp 0x10003591
mov ecx, dword [esp + 0x20]
cmp ebx, 0x2456705f
je 0x10003591
cmp ebx, 0x29b64f5e
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0x54]
add ecx, 0x18
mov dword [esp + 0x10c], ecx
mov ecx, 0xd932922
jmp 0x10003591
mov ecx, dword [esp + 0xec]
cmp ebx, 0xa2b6ebcd
je 0x10003591
cmp ebx, 0xa444bdaa
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0xa4]
jmp 0x10003591
cmp ebx, 0x67a2ebfb
je 0x10004279
cmp ebx, 0x6af3f033
mov ecx, ebx
jne 0x10003591
mov ecx, dword [esp + 0x3c]
mov ecx, 0xb8071daa
jmp 0x10003591
mov ecx, dword [esp + 0x104]
mov word [esp + 0x60], cx
mov ecx, 0x7d231470
jmp 0x10003591
mov ecx, dword [esp + 0x54]
mov ecx, dword [esp + 0x2c]
mov ecx, 0x5158e750
jmp 0x10003591
mov ecx, 0x649be293
jmp 0x10003591
mov ecx, 0x6f74de2e
jmp 0x10003591
mov ecx, dword [esp + 0x88]
mov ecx, 0x9cd44d63
jmp 0x10003591
cmp dword [esp + 0x74], 0
mov ecx, 0x29b64f5e
mov edx, 0x9241a64c
cmove ecx, edx
jmp 0x10003591
mov ecx, dword [esp + 0x58]
add ecx, 0x20
mov dword [esp + 0x104], ecx
mov ecx, 0x13a8d9e1
jmp 0x10003591
movzx ecx, word [esp + 2]
mov word [esp + 0x32], cx
mov ecx, dword [esp + 0xbc]
jmp 0x10003591
cmp byte [esp + 0x1a], 0
mov ecx, 0x741cbe18
mov edx, 0x2b5ec44c
cmovne ecx, edx
jmp 0x10003591
mov ecx, dword [esp + 0x114]
mov dword [esp + 0x7c], 0
mov dword [esp + 0x34], ecx
mov ecx, 0xb8298600
mov edx, dword [esp + 0x118]
mov dword [esp + 0x80], edx
jmp 0x10003591
cmp byte [esp + 0x1f], 0
mov ecx, 0x3b8e5d01
mov edx, 0x2a9a5eb7
cmovne ecx, edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x68], edx
jmp 0x10003591
mov ecx, 0x465fed3d
jmp 0x10003591
mov ecx, dword [esp + 0x8c]
mov ecx, dword [ecx]
mov dword [esp + 0x114], ecx
mov ecx, dword [esp + 0xcc]
jmp 0x10003591
mov ecx, dword [esp + 0x10c]
mov ecx, dword [ecx]
mov dword [esp + 0x110], ecx
mov ecx, 0x9ba7e00e
jmp 0x10003591
mov ecx, dword [esp + 0x2c]
mov edx, 0x83c7589
movzx ecx, word [edi + ecx*2]
mov word [esp + 0x14], cx
movzx ecx, word [esp + 0x12]
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x58]
cmp ecx, 0x40
mov ecx, 0xa7329fbe
cmovg ecx, edx
movzx edx, word [esp + 0x12]
mov word [esp + 8], dx
jmp 0x10003591
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x6c], ecx
mov ecx, 0x67a2ebfb
mov edx, dword [esp + 0x94]
mov dword [esp + 0x64], edx
jmp 0x10003591
mov ecx, 0x762e6ffe
jmp 0x10003591
mov ecx, 0xcd15ab2
jmp 0x10003591
mov cl, byte [esp + 0x17]
mov dl, byte [esp + 0x18]
mov ch, cl
mov dh, dl
xor ch, al
xor dh, al
mov bl, ch
mov bh, dh
and bl, cl
and bh, dl
xor ch, bl
xor bl, al
xor dh, bh
xor bh, al
or bl, cl
or bh, dl
xor bl, al
xor bh, al
or bl, ch
mov ch, cl
or cl, dl
or bh, dh
xor ch, dl
xor cl, al
xor bh, bl
or cl, ch
mov edx, ecx
xor dl, bh
test cl, al
mov ecx, 0xbfe79f38
cmovne ecx, ebp
test bh, al
mov ebx, 0xbfe79f38
cmove ecx, ebp
test dl, al
cmove ecx, ebx
jmp 0x10003591
mov ecx, 0x9b122cf7
jmp 0x10003591
cmp byte [esp + 0x1e], 0
mov ebx, dword [esp + 0x9c]
mov ecx, 0x950d4de
mov edx, 0x16cf447d
cmovne ecx, edx
mov dword [esp + 0x28], ebx
jmp 0x10003591
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x6c], 0
add ecx, 0xfffffff8
xor edx, edx
inc edx
mov dword [esp + 0x54], ecx
mov ecx, 0x67a2ebfb
mov dword [esp + 0x64], edx
jmp 0x10003591
mov ecx, dword [esp + 0x84]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x100], ecx
mov ecx, 0xa1f5abb
jmp 0x10003591
movzx ecx, word [esp + 8]
mov edx, 0x466b7945
mov word [esp + 0x30], cx
movzx ecx, word [esp + 0x14]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
cmp ecx, 0x40
mov ecx, 0x37cb78fc
cmovg ecx, edx
movzx edx, word [esp + 0x14]
mov word [esp + 2], dx
jmp 0x10003591
mov ecx, 0x2456705f
jmp 0x10003591
mov ecx, dword [esp + 0xf8]
mov ecx, dword [ecx]
mov dword [esp + 0xfc], ecx
mov ecx, 0x127d6281
jmp 0x10003591
movzx ecx, word [esp + 0x30]
cmp cx, word [esp + 0x32]
mov ecx, dword [esp + 0xc0]
setne byte [esp + 0x1d]
jmp 0x10003591
movzx ecx, word [esp + 0x30]
movzx ecx, word [esp + 0x32]
mov ecx, 0x703d94e4
jmp 0x10003591
mov ecx, dword [esp + 0x8c]
mov ecx, 0xf303458c
jmp 0x10003591
movzx edx, word [esp + 0x62]
mov ecx, 0x37cb78fc
mov word [esp + 2], dx
jmp 0x10003591
mov ecx, dword [esp + 0x110]
mov dword [esp + 0x80], ecx
mov ecx, 0xb8298600
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x34], edx
xor edx, edx
inc edx
mov dword [esp + 0x7c], edx
jmp 0x10003591
mov ecx, dword fs:[0x30]
mov ecx, 0xc15dd2c9
jmp 0x10003591
mov ecx, dword [esp + 0x2c]
inc ecx
mov dword [esp + 0x108], ecx
mov ecx, 0x88c18845
jmp 0x10003591
mov ecx, dword [esp + 0x98]
mov ecx, 0x830764ec
jmp 0x10003591
mov ecx, 0xff9832e6
mov dword [esp + 0xc], 0
jmp 0x10003591
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0xd4]
jmp 0x10003591
mov ecx, 0x3c0ee492
jmp 0x10003591
mov ecx, 0x1c4eab8d
jmp 0x10003591
mov ecx, 0x96740f81
mov dword [esp + 0x70], 0
mov dword [esp + 0x78], 4
jmp 0x10003591
mov ecx, dword [esp + 0x100]
mov edx, dword [esp + 0x2c]
movzx ecx, word [ecx + edx*2]
mov word [esp + 0x12], cx
mov ecx, 0x11690d4d
jmp 0x10003591
cmp dword [esp + 0x98], 0
mov ecx, dword [esp + 0xd8]
sete byte [esp + 0x1e]
jmp 0x10003591
cmp byte [esp + 0x19], 0
mov ecx, 0xa444bdaa
mov edx, 0x3bb65a7c
cmovne ecx, edx
jmp 0x10003591
mov ecx, dword fs:[0x30]
add ecx, 0xc
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0xac]
jmp 0x10003591
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x90], ecx
mov ecx, dword [esp + 0xa8]
jmp 0x10003591
mov ecx, dword [esp + 0x58]
cmp ecx, 0x5b
mov ecx, 0xd08894dd
setl byte [esp + 0x1b]
jmp 0x10003591
mov eax, dword [esp + 0xc]
add esp, 0x11c
pop esi
pop edi
pop ebx
pop ebp
ret