Function at 0x10002e31
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, 0xb0
cmp dword [esp + 0xc4], 0
mov eax, 0xfc6031a0
sete byte [esp + 0xf]
xor ebp, ebp
dec ebp
cmp eax, 0xc5ba56b
jg 0x10002eb3
cmp eax, 0xd1808aa5
jle 0x10002f3d
cmp eax, 0xeaca96ae
jle 0x1000304f
cmp eax, 0xf87870fc
jle 0x10003258
cmp eax, 0x8d505a
jg 0x10003605
cmp eax, 0xf87870fd
je 0x10003b37
cmp eax, 0xfab4963c
je 0x1000373c
cmp eax, 0xfc6031a0
jne 0x10002e50
cmp byte [esp + 0xf], 0
mov eax, 0x53c006b8
jne 0x10002e50
mov eax, 0x7c1b5cc4
jmp 0x10002e50
cmp eax, 0x45af823e
jle 0x10002ff9
cmp eax, 0x6e6623c2
jle 0x10003098
cmp eax, 0x6fd12a91
jg 0x1000329e
cmp eax, 0x6e858a86
jle 0x100036ad
cmp eax, 0x6e858a87
je 0x10003b41
cmp eax, 0x6f16960f
je 0x10003b69
cmp eax, 0x6f8d2c8f
jne 0x10002e50
mov eax, dword [esp + 0x8c]
mov eax, dword [eax]
mov ecx, dword [esp + 4]
movzx eax, word [eax + ecx*2]
mov ecx, dword [esp + 0xc4]
mov word [esp + 0xc], ax
mov eax, dword [esp + 4]
movzx eax, word [ecx + eax*2]
mov word [esp + 2], ax
movzx eax, word [esp + 0xc]
mov dword [esp + 0x28], eax
mov eax, 0xf728a906
jmp 0x10002e50
cmp eax, 0xabe4b84d
jg 0x100030e1
cmp eax, 0x9b66dae7
jg 0x1000334c
cmp eax, 0x8d3e1752
jle 0x100036bd
cmp eax, 0x8d3e1753
je 0x10003b73
cmp eax, 0x93d8244a
je 0x10003b81
cmp eax, 0x9a649fcd
jne 0x10002e50
mov eax, dword [esp + 0x1c]
mov edx, 0x5d3ed3ea
mov edi, 0xe1ab82c6
mov dword [esp + 0x68], eax
mov eax, dword [0x1002c4fc]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, edx
xor eax, ebp
and eax, 0xa2c12c15
or ecx, eax
mov eax, ecx
xor ecx, 0xa2c12c14
xor eax, edx
mov edx, 0xb22ac7c
and eax, 0xfffffffe
or ecx, eax
mov eax, ecx
and ecx, edx
xor eax, ebp
and eax, 0xf4dd5383
or ecx, eax
xor ecx, edx
sete ch
cmp dword [0x1002c4f8], 0xa
setl cl
xor ch, cl
mov al, ch
xor al, 1
and cl, al
xor al, cl
mov eax, 0x6f16960f
jne 0x10002fef
mov edi, 0x6f16960f
test ch, ch
cmove eax, edi
jmp 0x10004178
cmp eax, 0x287a9d38
jg 0x10003188
cmp eax, 0x1e7446d9
jg 0x1000338a
cmp eax, 0x16b91950
jle 0x10003746
cmp eax, 0x16b91951
je 0x10003b9b
cmp eax, 0x19382d5e
je 0x10003bb1
cmp eax, 0x19d602ce
jne 0x10002e50
movzx ecx, word [esp + 0x36]
mov eax, 0xdd0a1be0
mov word [esp + 0xa], cx
jmp 0x10002e50
cmp eax, 0xdd0a1bdf
jg 0x100033ce
cmp eax, 0xd3c7fb61
jle 0x10003771
cmp eax, 0xd3c7fb62
je 0x10003bd1
cmp eax, 0xd3cc1d5b
je 0x10003c35
cmp eax, 0xdaa8424f
jne 0x10002e50
mov ecx, dword [esp + 0x6c]
mov eax, 0x2dbeef0f
mov dword [esp + 0x44], ecx
jmp 0x10002e50
cmp eax, 0x55159509
jg 0x10003407
cmp eax, 0x50ef77e8
jle 0x100037ab
cmp eax, 0x50ef77e9
je 0x10003c4d
cmp eax, 0x53690535
je 0x10003c57
cmp eax, 0x53c006b8
jne 0x10002e50
mov eax, 0xc8e4ee3e
mov dword [esp + 0x60], 0
jmp 0x10002e50
cmp eax, 0xc78c0ee1
jg 0x100034cb
cmp eax, 0xb991f55d
jle 0x100037cb
cmp eax, 0xb991f55e
je 0x10004460
cmp eax, 0xc43da779
je 0x10003ccb
cmp eax, 0xc59b4dc5
jne 0x10002e50
mov eax, dword [0x1002c4fc]
mov edi, dword [0x1002c4f8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x1a3afe81
xor eax, ebp
mov ebx, eax
and eax, 0xfffffffe
and ebx, 0xe5c5017e
or ebx, ecx
xor ebx, 0xe5c5017f
or eax, ebx
cmp eax, ebp
setne al
sete ah
cmp edi, 0xa
setl cl
cmp edi, 9
mov edi, 0x39b21d63
setg ch
and cl, al
and ah, ch
or cl, ah
mov ah, ch
xor ch, al
and ah, al
or ch, ah
mov al, ch
xor al, cl
mov eax, 0x84c774c9
jne 0x10004173
mov edi, 0x84c774c9
jmp 0x10004173
cmp eax, 0x32397222
jg 0x1000354f
cmp eax, 0x29036b9b
jle 0x1000386f
cmp eax, 0x29036b9c
je 0x10003d1b
cmp eax, 0x2dbeef0f
je 0x10003d55
cmp eax, 0x30a250d4
jne 0x10002e50
mov eax, dword [esp + 0x68]
mov ecx, dword [0x1002c4fc]
mov edi, 0xd20cf700
lea edx, [ecx - 1]
mov eax, dword [eax]
imul edx, ecx
mov ecx, edx
and edx, 0xf2404b81
xor ecx, ebp
and ecx, 0xdbfb47e
mov dword [esp + 0xa4], eax
mov eax, dword [0x1002c4f8]
or edx, ecx
mov ecx, edx
xor edx, 0xdbfb47f
xor ecx, 0xf2404b80
and ecx, 0xfffffffe
or edx, ecx
mov ecx, edx
and edx, edi
xor ecx, ebp
and ecx, 0x2df308ff
or edx, ecx
xor edx, edi
mov edi, 0x50ef77e9
sete dl
setne dh
cmp eax, 0xa
setl cl
cmp eax, 9
mov eax, 0x1e7446da
setg ch
or ch, dh
xor cl, dl
jne 0x1000323e
mov edi, 0x1e7446da
xor cl, ch
test ch, ch
jne 0x10003246
mov eax, edi
test cl, cl
jne 0x10002e50
mov eax, 0x50ef77e9
jmp 0x10002e50
cmp eax, 0xf07bb351
jle 0x1000388f
cmp eax, 0xf07bb352
je 0x10003dc6
cmp eax, 0xf728a906
je 0x10003de0
cmp eax, 0xf7e4239e
jne 0x10002e50
cmp byte [esp + 0x14], 0
mov eax, 0x880ab22c
jne 0x10002e50
mov eax, 0xd1808aa6
jmp 0x10002e50
cmp eax, 0x7c1b5cc3
jle 0x10003916
cmp eax, 0x7c1b5cc4
je 0x10003dfd
cmp eax, 0x7c8fe2a9
je 0x10003e17
cmp eax, 0x7d71673c
jne 0x10002e50
mov eax, dword [0x1002c4fc]
mov edx, 0x24704e7f
mov word [esp + 0x18], si
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, edx
xor eax, ebp
and eax, 0xdb8fb180
or ecx, eax
mov eax, ecx
xor ecx, 0x9b0f0000
xor eax, edx
and ecx, 0x9f2f443e
mov edi, eax
and eax, 0xfffffffe
and edi, 0x60d0bbc1
or edi, ecx
xor edi, 0x60d0bbc0
or eax, edi
mov edi, 0x1fc6f35
cmp eax, ebp
setne al
cmp dword [0x1002c4f8], 9
setg cl
mov ch, cl
or ch, al
xor cl, al
mov eax, 0x218f0be3
jne 0x10003337
mov edi, 0x218f0be3
xor cl, ch
test ch, ch
jne 0x1000333f
mov eax, edi
test cl, cl
jne 0x10002e50
jmp 0x10003f0a
cmp eax, 0x9c878ead
jle 0x100039cd
cmp eax, 0x9c878eae
je 0x10003e40
cmp eax, 0xa0fd2877
je 0x10003e6f
cmp eax, 0xa3ae67cd
jne 0x10002e50
mov ecx, dword [esp + 0x58]
mov eax, 0xc8e4ee3e
mov dword [esp + 0x60], ecx
jmp 0x10002e50
cmp eax, 0x218f0be2
jle 0x10003a50
cmp eax, 0x218f0be3
je 0x10003f05
cmp eax, 0x24917e5a
je 0x10003f14
cmp eax, 0x25b5cb2a
jne 0x10002e50
mov eax, dword [esp + 0x2c]
add eax, 0x20
mov dword [esp + 0x94], eax
mov eax, 0x45af823f
jmp 0x10002e50
cmp eax, 0xe1ab82c5
jle 0x10003a84
cmp eax, 0xe1ab82c6
je 0x10003f94
cmp eax, 0xe608740a
je 0x10003fa2
cmp eax, 0xe7341b74
jne 0x10002e50
mov eax, dword [esp + 4]
mov eax, dword [esp + 4]
jmp 0x10003865
cmp eax, 0x56aa46fb
jle 0x10003aa3
cmp eax, 0x56aa46fc
je 0x100040da
cmp eax, 0x670866ef
je 0x10004048
cmp eax, 0x6a84027f
jne 0x10002e50
mov eax, dword [esp + 0x4c]
mov edx, 0xfbc30e1b
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x74], eax
mov eax, dword [0x1002c4fc]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xb94f9f1c
xor eax, ebp
mov edi, eax
and eax, 0xfffffffe
and edi, 0x46b060e3
or edi, ecx
mov ecx, dword [0x1002c4f8]
xor edi, 0x46b060e2
or eax, edi
mov edi, eax
and eax, edx
xor edi, ebp
and edi, 0x43cf1e4
or eax, edi
mov edi, 0x75d488ef
xor eax, edx
sete al
setne ah
cmp ecx, 9
setg bl
cmp ecx, 0xa
setl cl
and bl, al
mov ch, cl
xor ch, ah
and ch, cl
and cl, ah
mov eax, 0x75d488ef
or cl, bl
jne 0x100034b7
mov edi, 0xc8de1ee7
xor cl, ch
test ch, ch
jne 0x10004305
mov edi, 0xc8de1ee7
jmp 0x10004305
cmp eax, 0xc8e4ee3d
jle 0x10003ad6
cmp eax, 0xc8e4ee3e
je 0x10004062
cmp eax, 0xcb8735c4
je 0x100040e4
cmp eax, 0xd0e5d20e
jne 0x10002e50
mov eax, dword [0x1002c4fc]
mov edi, 0x9a649fcd
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 1
xor eax, ebp
mov edx, eax
and edx, 0xfffffffe
or ecx, edx
xor ecx, ebp
or ecx, eax
cmp ecx, ebp
setne al
sete cl
cmp dword [0x1002c4f8], 9
setg ch
mov dl, ch
xor cl, ch
xor ch, al
and dl, al
mov eax, ecx
or ch, dl
xor al, ch
mov eax, 0x9a649fcd
jne 0x10003545
mov edi, 0xe1ab82c6
test ch, ch
cmovne eax, edi
jmp 0x1000403e
cmp eax, 0x39b21d62
jle 0x10003afa
cmp eax, 0x39b21d63
je 0x100040f6
cmp eax, 0x3b6cf78b
je 0x10004100
cmp eax, 0x40700608
jne 0x10002e50
mov eax, dword [0x1002c4fc]
mov edx, 0x276fa814
mov ebx, 0x39b21d63
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xdfb8d82
xor eax, ebp
mov edi, eax
and eax, 0xfffffffe
and edi, 0xf204727d
or edi, ecx
xor edi, 0xf204727c
or eax, edi
mov edi, 0x39b21d63
mov ecx, eax
and eax, edx
xor ecx, ebp
and ecx, 0xd89057eb
or eax, ecx
xor eax, edx
sete al
setne cl
cmp dword [0x1002c4f8], 0xa
setl ah
mov ch, ah
xor cl, ah
or ah, al
xor ch, al
xor ah, 1
or ah, ch
mov ch, cl
xor ch, ah
test ah, ah
mov eax, 0xc59b4dc5
jne 0x100035f3
mov edi, 0xc59b4dc5
test cl, cl
cmovne edi, ebx
test ch, ch
jne 0x10002e50
jmp 0x1000430d
cmp eax, 0x8d505b
je 0x10004182
cmp eax, 0x1438cb1
je 0x10004198
cmp eax, 0x1fc6f35
jne 0x10002e50
movzx eax, word [esp + 2]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov ecx, dword [0x1002c4f8]
cmp eax, 0x40
mov eax, dword [0x1002c4fc]
setg byte [esp + 0x12]
lea edi, [eax - 1]
imul edi, eax
mov eax, edi
and edi, 0x16ab8cb5
not eax
mov ebx, eax
and ebx, 0xe954734a
or edi, ebx
xor edi, 0x16ab8cb4
xor eax, edi
test eax, edi
mov edi, 0x19382d5e
sete al
setne ah
cmp ecx, 9
setg bl
cmp ecx, 0xa
setl cl
and bl, al
mov ch, cl
xor ch, ah
and ch, cl
and cl, ah
mov eax, 0x19382d5e
or cl, bl
jne 0x10003699
mov edi, 0x218f0be3
xor cl, ch
test ch, ch
jne 0x10004305
mov edi, 0x218f0be3
jmp 0x10004305
cmp eax, 0x6e6623c3
je 0x10004475
jmp 0x10002e50
cmp eax, 0x84c774c9
je 0x100041b0
cmp eax, 0x880ab22c
jne 0x10002e50
mov eax, dword [0x1002c4fc]
mov dl, 1
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x5f8ed135
not eax
mov edi, eax
and edi, 0xa0712eca
or ecx, edi
mov edi, 0xfab4963c
xor ecx, 0x5f8ed134
xor eax, ecx
test eax, ecx
sete al
setne cl
cmp dword [0x1002c4f8], 0xa
setl ah
xor cl, ah
or al, ah
mov ch, cl
xor al, dl
xor ch, dl
or al, ch
xor ch, al
test al, al
mov eax, 0xfab4963c
jne 0x1000372f
mov eax, 0x24917e5a
test cl, cl
cmovne eax, edi
test ch, ch
jne 0x10002e50
mov eax, 0x24917e5a
jmp 0x10002e50
cmp eax, 0xc5ba56c
je 0x100041bf
cmp eax, 0xce6945a
jne 0x10002e50
cmp byte [esp + 0x11], 0
mov eax, 0x1438cb1
je 0x10003dee
jmp 0x10003df3
cmp eax, 0xd1808aa6
je 0x100041d1
cmp eax, 0xd2a2f750
jne 0x10002e50
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x54], eax
mov eax, 0x9c878eae
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x5c], ecx
xor ecx, ecx
inc ecx
mov dword [esp + 0x50], ecx
jmp 0x10002e50
cmp eax, 0x45af823f
je 0x100041eb
cmp eax, 0x4845cd2f
jne 0x10002e50
mov eax, 0xabe4b84e
jmp 0x10002e50
cmp eax, 0xabe4b84e
je 0x10004201
cmp eax, 0xad7432a6
jne 0x10002e50
mov eax, dword [0x1002c4fc]
mov edx, dword [0x1002c4f8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xf9882707
xor eax, ebp
mov edi, eax
and eax, 0xfffffffe
and edi, 0x677d8f8
or edi, ecx
xor edi, 0x677d8f9
or eax, edi
mov edi, 0xdf540f55
mov ecx, eax
and eax, edi
xor ecx, ebp
and ecx, 0x20abf0aa
or eax, ecx
xor eax, edi
setne al
sete ah
cmp edx, 0xa
setl ch
cmp edx, 9
setg cl
and ch, al
mov edx, ecx
and ah, cl
and cl, al
xor dl, al
or ch, ah
mov eax, 0xe7341b74
or cl, dl
jne 0x10003852
mov eax, 0xef86d0bc
xor cl, ch
test ch, ch
jne 0x1000385d
mov eax, 0xe7341b74
test cl, cl
jne 0x10002e50
mov eax, 0xef86d0bc
jmp 0x10002e50
cmp eax, 0x287a9d39
je 0x10004269
cmp eax, 0x28cd0144
jne 0x10002e50
mov eax, 0x55d00579
jmp 0x10002e50
cmp eax, 0xeaca96af
je 0x10004283
cmp eax, 0xef86d0bc
jne 0x10002e50
mov eax, dword [esp + 4]
mov edi, 0x28cd0144
inc eax
mov dword [esp + 0x98], eax
mov eax, dword [0x1002c4fc]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x830b5b87
xor eax, ebp
mov edx, eax
and edx, 0x7cf4a478
or ecx, edx
xor ecx, 0x7cf4a479
or ecx, eax
cmp ecx, ebp
sete cl
cmp dword [0x1002c4f8], 0xa
setl al
xor cl, al
mov ch, cl
not ch
and ch, al
test cl, cl
mov eax, 0x28cd0144
jne 0x10003902
mov edi, 0xe7341b74
xor cl, ch
test ch, ch
jne 0x10004305
mov edi, 0xe7341b74
jmp 0x10004305
cmp eax, 0x6fd12a92
je 0x10004292
cmp eax, 0x75d488ef
jne 0x10002e50
cmp dword [esp + 0x70], 0
mov ecx, dword [0x1002c4fc]
mov eax, dword [0x1002c4f8]
mov edx, 0xa17023b5
lea edi, [ecx - 1]
sete byte [esp + 0x15]
imul edi, ecx
mov ecx, edi
and edi, 0xa9ace909
xor ecx, ebp
and ecx, 0x565316f6
or edi, ecx
mov ecx, edi
xor edi, 0x565316f7
xor ecx, 0xa9ace908
and ecx, 0xfffffffe
or edi, ecx
mov ecx, edi
and edi, edx
xor ecx, ebp
and ecx, 0x5e8fdc4a
or edi, ecx
xor edi, edx
sete bl
setne bh
cmp eax, 9
setg dl
cmp eax, 0xa
mov eax, 0xc8de1ee7
setl cl
mov ch, dl
xor dl, bh
and bh, cl
or cl, bl
and ch, bl
xor cl, 1
or ch, bh
or cl, dl
jne 0x100039b0
mov eax, 0x215b19c1
xor cl, ch
test ch, ch
jne 0x100039bb
mov eax, 0xc8de1ee7
test cl, cl
jne 0x10002e50
mov eax, 0x215b19c1
jmp 0x10002e50
cmp eax, 0x9b66dae8
je 0x10004314
cmp eax, 0x9bc8bf5c
jne 0x10002e50
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
mov ebx, 0x9b66dae8
mov edi, 0xf87870fd
cmp ecx, eax
mov eax, dword [0x1002c4fc]
mov ecx, dword [0x1002c4f8]
setne byte [esp + 0x17]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor edx, 1
xor eax, ebp
and eax, 0xfffffffe
or edx, eax
cmp edx, ebp
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
and ah, dl
and al, cl
or cl, dl
or ah, al
mov ch, cl
xor ch, ah
test ah, ah
mov eax, 0xf87870fd
jne 0x10003c26
mov edi, 0x9b66dae8
jmp 0x10003c26
cmp eax, 0x1e7446da
je 0x10004326
cmp eax, 0x215b19c1
jne 0x10002e50
cmp byte [esp + 0x15], 0
mov eax, 0xad7432a6
jne 0x10003a77
mov eax, 0x2dbeef0f
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x44], ecx
jmp 0x10002e50
cmp eax, 0xdd0a1be0
je 0x10004334
cmp eax, 0xddde2ae8
jne 0x10002e50
mov eax, dword [esp + 0x78]
jmp 0x10003dbc
cmp eax, 0x5515950a
je 0x100043b2
cmp eax, 0x55d00579
jne 0x10002e50
mov eax, dword [esp + 0x98]
mov dword [esp + 0x3c], eax
mov eax, 0x53690535
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x38], ecx
jmp 0x10002e50
cmp eax, 0xc78c0ee2
je 0x100043ca
cmp eax, 0xc8de1ee7
jne 0x10002e50
mov eax, dword [esp + 0x70]
mov eax, 0x75d488ef
jmp 0x10002e50
cmp eax, 0x32397223
je 0x100043e0
cmp eax, 0x33e37442
jne 0x10002e50
mov eax, dword [esp + 0x84]
mov eax, dword [eax]
add eax, 0x14
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 0x88], eax
mov eax, 0xb991f55e
jmp 0x10002e50
mov eax, 0x7c8fe2a9
jmp 0x10002e50
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x50], 0
mov dword [esp + 0x5c], eax
mov eax, 0x9c878eae
mov ecx, dword [esp + 0xa8]
mov dword [esp + 0x54], ecx
jmp 0x10002e50
mov eax, 0xd3c7fb62
jmp 0x10002e50
cmp byte [esp + 0x13], 0
mov eax, 0x25b5cb2a
je 0x10003bbd
jmp 0x10003bc2
mov eax, dword [esp + 0x9c]
mov eax, dword [eax]
mov dword [esp + 0xa0], eax
mov eax, 0xd2a2f750
jmp 0x10002e50
mov eax, dword [esp + 0x2c]
cmp eax, 0x5b
mov eax, 0x8d3e1753
setl byte [esp + 0x13]
jmp 0x10002e50
cmp byte [esp + 0x12], 0
mov eax, 0x16b91951
jne 0x10003bc2
mov eax, 0xdd0a1be0
movzx ecx, word [esp + 2]
mov word [esp + 0xa], cx
jmp 0x10002e50
mov eax, dword [0x1002c4fc]
mov ecx, dword [0x1002c4f8]
mov ebx, 0x1e7446da
mov edi, 0x30a250d4
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor edx, 1
xor eax, ebp
and eax, 0xfffffffe
or edx, eax
cmp edx, ebp
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
and ah, dl
and al, cl
or cl, dl
or ah, al
mov ch, cl
xor ch, ah
test ah, ah
mov eax, 0x30a250d4
jne 0x10003c26
mov edi, 0x1e7446da
test cl, cl
cmovne edi, ebx
test ch, ch
cmovne eax, edi
jmp 0x10002e50
mov eax, dword [esp + 0x64]
add eax, 4
mov dword [esp + 0x8c], eax
mov eax, 0x6f8d2c8f
jmp 0x10002e50
mov eax, 0xe608740a
jmp 0x10002e50
mov eax, dword [esp + 0x3c]
mov edx, 0x3a019838
mov edi, 0xa0fd2877
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
mov eax, dword [0x1002c4fc]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor ecx, 1
xor eax, ebp
and eax, 0xfffffffe
or ecx, eax
mov eax, ecx
and ecx, edx
xor eax, ebp
and eax, 0xc5fe67c7
or ecx, eax
xor ecx, edx
setne al
cmp dword [0x1002c4f8], 9
setg cl
mov ch, cl
or ch, al
xor cl, al
mov eax, 0xc5ba56c
jne 0x10003cb6
mov edi, 0xc5ba56c
xor cl, ch
test ch, ch
jne 0x10003cbe
mov eax, edi
test cl, cl
jne 0x10002e50
jmp 0x100041c7
mov eax, dword [0x1002c4fc]
mov edi, 0x9b66dae8
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 1
not eax
mov edx, eax
and edx, 0xfffffffe
or ecx, edx
xor eax, ecx
test eax, ecx
setne al
cmp dword [0x1002c4f8], 9
mov ecx, eax
setg ch
xor cl, ch
and ch, al
or ch, cl
mov al, ch
xor al, cl
mov eax, 0x9bc8bf5c
jne 0x10004173
mov edi, 0x9bc8bf5c
jmp 0x10004173
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x3c], 0
add eax, 0xfffffff8
xor ecx, ecx
inc ecx
mov dword [esp + 0x24], eax
mov eax, 0x53690535
mov dword [esp + 0x38], ecx
jmp 0x10002e50
mov eax, dword [esp + 0x44]
mov edx, 0x7a6319bb
mov edi, 0x6fd12a92
mov dword [esp + 0x78], eax
mov eax, dword [0x1002c4fc]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor ecx, 1
xor eax, ebp
and eax, 0xfffffffe
or ecx, eax
mov eax, ecx
and ecx, edx
xor eax, ebp
and eax, 0x859ce644
or ecx, eax
xor ecx, edx
setne al
cmp dword [0x1002c4f8], 9
setg cl
mov ch, cl
or ch, al
xor cl, al
mov eax, 0xddde2ae8
jne 0x10003dac
mov edi, 0xddde2ae8
xor cl, ch
test ch, ch
jne 0x10003db4
mov eax, edi
test cl, cl
jne 0x10002e50
mov eax, 0x6fd12a92
jmp 0x10002e50
mov eax, 0x6a84027f
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 4
jmp 0x10002e50
mov eax, dword [esp + 0x28]
cmp eax, 0x40
mov eax, 0x8d505b
jg 0x10003df3
mov eax, 0x7d71673c
movzx esi, word [esp + 0xc]
jmp 0x10002e50
mov eax, dword fs:[0x30]
add eax, 0xc
mov dword [esp + 0x84], eax
mov eax, 0x33e37442
jmp 0x10002e50
cmp byte [esp + 0x17], 0
mov eax, 0x29036b9c
jne 0x10003e28
mov eax, 0xcb8735c4
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x40], ecx
jmp 0x10002e50
mov eax, dword [esp + 0x5c]
cmp dword [esp + 0x50], 0
mov ecx, 0xc43da779
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x7c], eax
mov eax, 0xa3ae67cd
mov edx, dword [esp + 0x7c]
cmove eax, ecx
mov dword [esp + 0x58], edx
jmp 0x10002e50
mov eax, dword [esp + 0x24]
add eax, 0x2c
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
movzx eax, word [eax]
mov ecx, dword [esp + 4]
shr eax, 1
cmp ecx, eax
mov eax, dword [0x1002c4fc]
mov ecx, dword [0x1002c4f8]
setl byte [esp + 0x10]
lea edi, [eax - 1]
imul edi, eax
mov eax, edi
and edi, 0x17201a5a
xor eax, ebp
mov ebx, eax
and ebx, 0xe8dfe5a5
or edi, ebx
xor edi, 0xe8dfe5a4
or edi, eax
cmp edi, ebp
mov edi, 0xc5ba56c
sete al
setne ah
cmp ecx, 0xa
setl bl
cmp ecx, 9
setg cl
and bl, ah
and al, cl
or cl, ah
or bl, al
mov ch, cl
mov eax, 0x670866ef
xor ch, bl
test bl, bl
jne 0x10003eee
mov eax, 0xc5ba56c
test cl, cl
cmovne eax, edi
test ch, ch
jne 0x10002e50
mov eax, 0x670866ef
jmp 0x10002e50
movzx eax, word [esp + 2]
mov eax, 0x1fc6f35
jmp 0x10002e50
mov eax, dword [0x1002c4fc]
mov edx, 0xaf142f6a
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, edx
xor eax, ebp
and eax, 0x50ebd095
or ecx, eax
mov eax, ecx
xor ecx, 0x40239080
xor eax, edx
and ecx, 0x422390e0
mov edi, eax
and eax, 0xfffffffe
and edi, 0xbddc6f1f
or edi, ecx
xor edi, 0xbddc6f1e
or eax, edi
mov edi, 0xf07bb352
cmp eax, ebp
sete cl
cmp dword [0x1002c4f8], 0xa
setl al
xor cl, al
mov ch, cl
not ch
and ch, al
test cl, cl
mov eax, 0xf07bb352
jne 0x10003f80
mov edi, 0xfab4963c
xor cl, ch
test ch, ch
jne 0x10004305
mov edi, 0xfab4963c
jmp 0x10004305
mov eax, dword [esp + 0x1c]
mov eax, 0x9a649fcd
jmp 0x10002e50
mov ecx, dword [0x1002c4fc]
mov edi, 0xb32e27ea
mov eax, dword [0x1002c4f8]
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, edi
xor ecx, ebp
and ecx, 0x4cd1d815
or edx, ecx
mov ecx, edx
xor edx, 0x4c510815
xor ecx, edi
and edx, 0x7e570835
mov edi, ecx
and ecx, 0xfffffffe
and edi, 0x81a8f7ca
or edi, edx
xor edi, 0x81a8f7cb
or ecx, edi
mov edi, 0xee3f6f62
mov edx, ecx
and ecx, edi
xor edx, ebp
and edx, 0x11c0909d
or ecx, edx
xor ecx, edi
sete dl
setne dh
cmp eax, 9
setg cl
cmp eax, 0xa
setl ch
and cl, dl
mov al, ch
and dh, ch
or ch, dl
xor al, dl
xor ch, 1
or cl, dh
or ch, al
mov al, ch
xor al, cl
mov eax, 0x4845cd2f
jne 0x10004033
mov eax, 0xabe4b84e
test ch, ch
mov edi, eax
jne 0x1000403e
mov edi, 0xabe4b84e
test cl, cl
cmovne eax, edi
jmp 0x10002e50
cmp byte [esp + 0x10], 0
mov eax, 0xd3cc1d5b
jne 0x10002e50
mov eax, 0xdaa8424f
jmp 0x10002e50
mov eax, dword [esp + 0x60]
mov ecx, dword [0x1002c4f8]
mov dword [esp + 0xac], eax
mov eax, dword [0x1002c4fc]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 0x5d5c32ef
not eax
mov edi, eax
and edi, 0xa2a3cd10
or edx, edi
mov edi, 0x56aa46fc
xor edx, 0x5d5c32ee
xor eax, edx
test eax, edx
sete al
setne dl
cmp ecx, 0xa
setl ah
cmp ecx, 9
setg cl
and ah, dl
and al, cl
or cl, dl
or ah, al
mov ch, ah
xor ch, cl
test ah, ah
mov eax, 0x32397223
jne 0x100040cd
mov eax, 0x56aa46fc
test cl, cl
cmovne eax, edi
test ch, ch
jne 0x10002e50
mov eax, 0x32397223
jmp 0x10002e50
mov eax, 0xa3ae67cd
mov dword [esp + 0x58], 0
jmp 0x10002e50
mov eax, 0xc59b4dc5
jmp 0x10002e50
movzx eax, word [esp + 0x18]
cmp ax, word [esp + 0x1a]
mov eax, dword [0x1002c4fc]
mov edi, dword [0x1002c4f8]
lea ecx, [eax - 1]
setne byte [esp + 0x14]
imul ecx, eax
mov eax, ecx
and ecx, 0x11f5055b
xor eax, ebp
mov ebx, eax
and ebx, 0xee0afaa4
or ecx, ebx
xor ecx, 0xee0afaa5
or ecx, eax
cmp ecx, ebp
setne al
sete ah
cmp edi, 0xa
setl cl
cmp edi, 9
mov edi, 0xeaca96af
setg ch
and cl, al
and ah, ch
or cl, ah
mov ah, ch
xor ch, al
and ah, al
or ch, ah
mov al, ch
xor al, cl
mov eax, 0xf7e4239e
jne 0x10004173
mov edi, 0xf7e4239e
test ch, ch
cmovne eax, edi
test cl, cl
cmove eax, edi
jmp 0x10002e50
mov eax, dword [esp + 0x28]
cmp eax, 0x5b
mov eax, 0xce6945a
setl byte [esp + 0x11]
jmp 0x10002e50
mov eax, dword [esp + 0x28]
add eax, 0x20
mov dword [esp + 0x90], eax
mov eax, 0xc78c0ee2
jmp 0x10002e50
movzx esi, word [esp + 0x34]
mov eax, 0x7d71673c
jmp 0x10002e50
mov eax, dword [esp + 0x24]
mov eax, dword [esp + 4]
mov eax, 0xa0fd2877
jmp 0x10002e50
mov dword [esp + 0x4c], 0
mov eax, 0x6a84027f
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x48], ecx
jmp 0x10002e50
mov eax, dword [esp + 0x94]
mov word [esp + 0x36], ax
mov eax, 0x19d602ce
jmp 0x10002e50
mov eax, dword [0x1002c4fc]
mov edi, 0x6e858a87
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x47056d28
xor eax, ebp
mov edx, eax
and eax, 0xfffffffe
and edx, 0xb8fa92d7
or edx, ecx
xor edx, 0xb8fa92d6
or eax, edx
cmp eax, ebp
sete cl
cmp dword [0x1002c4f8], 0xa
setl al
xor cl, al
mov ch, cl
not ch
and ch, al
test cl, cl
mov eax, 0x6e858a87
jne 0x10004255
mov edi, 0x4845cd2f
xor cl, ch
test ch, ch
jne 0x10004305
mov edi, 0x4845cd2f
jmp 0x10004305
cmp byte [esp + 0x16], 0
mov eax, 0x5515950a
jne 0x10002e50
mov eax, 0xd0e5d20e
jmp 0x10002e50
movzx eax, word [esp + 0x18]
movzx eax, word [esp + 0x1a]
jmp 0x100043a8
cmp dword [esp + 0x78], 0
mov eax, dword [0x1002c4fc]
mov ecx, dword [0x1002c4f8]
lea edx, [eax - 1]
setne byte [esp + 0x16]
imul edx, eax
mov eax, edx
and edx, 0xa8671e4d
xor eax, ebp
mov edi, eax
and edi, 0x5798e1b2
or edx, edi
mov edi, 0x287a9d39
xor edx, 0x5798e1b3
or edx, eax
cmp edx, ebp
sete al
setne dl
cmp ecx, 9
setg ah
cmp ecx, 0xa
setl cl
and ah, al
mov ch, cl
xor ch, dl
and ch, cl
and cl, dl
or cl, ah
mov eax, 0x287a9d39
jne 0x100042fa
mov edi, 0xddde2ae8
xor cl, ch
test ch, ch
jne 0x10004305
mov edi, 0xddde2ae8
test cl, cl
jne 0x10002e50
mov eax, edi
jmp 0x10002e50
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x30]
mov eax, 0x9bc8bf5c
jmp 0x10002e50
mov eax, dword [esp + 0x68]
mov eax, 0x30a250d4
jmp 0x10002e50
movzx eax, word [esp + 0xa]
mov edi, dword [0x1002c4f8]
mov word [esp + 0x1a], ax
mov eax, dword [0x1002c4fc]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 1
not eax
mov ebx, eax
and ebx, 0xfffffffe
or ecx, ebx
xor eax, ecx
test eax, ecx
sete al
setne ah
cmp edi, 9
setg cl
cmp edi, 0xa
mov edi, 0xeaca96af
setl bl
and cl, al
and ah, bl
or cl, ah
mov ah, bl
or bl, al
xor ah, al
xor bl, 1
or bl, ah
mov eax, 0xeaca96af
mov ch, bl
xor ch, cl
test bl, bl
jne 0x1000439b
mov edi, 0x3b6cf78b
test cl, cl
cmovne eax, edi
test ch, ch
jne 0x10002e50
mov eax, 0x3b6cf78b
jmp 0x10002e50
mov eax, dword [esp + 0x24]
add eax, 0x18
mov dword [esp + 0x9c], eax
mov eax, 0x93d8244a
jmp 0x10002e50
mov eax, dword [esp + 0x90]
mov word [esp + 0x34], ax
mov eax, 0x40700608
jmp 0x10002e50
mov eax, dword [0x1002c4fc]
mov edx, dword [0x1002c4f8]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xe0a5c07e
not eax
mov edi, eax
and edi, 0x1f5a3f81
or ecx, edi
mov edi, 0x56aa46fc
xor ecx, 0xe0a5c07f
xor eax, ecx
test eax, ecx
sete al
setne ah
cmp edx, 9
setg cl
cmp edx, 0xa
setl dl
and cl, al
and ah, dl
or cl, ah
mov ah, dl
or dl, al
xor ah, al
xor dl, 1
or dl, ah
mov eax, 0x56aa46fc
mov ch, dl
xor ch, cl
test dl, dl
jne 0x10004449
mov edi, 0x6e6623c3
test cl, cl
cmovne eax, edi
test ch, ch
jne 0x10002e50
mov eax, 0x6e6623c3
jmp 0x10002e50
mov eax, dword [esp + 0x88]
mov dword [esp + 0x40], eax
mov eax, 0x29036b9c
jmp 0x10002e50
mov eax, dword [esp + 0xac]
add esp, 0xb0
pop esi
pop edi
pop ebx
pop ebp
ret