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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xd0
mov eax, dword [0x4d2784]
mov edi, dword [esp + 0xe8]
mov ebx, dword [esp + 0xe4]
xor eax, esp
mov dword [esp + 0xcc], eax
mov eax, 0x938be6cb
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
test cl, cl
cmovne eax, ebp
nop dword [eax]
cmp eax, 0xdeb828
jg 0x40aaf0
cmp eax, 0xcc339bd3
jle 0x40abc0
cmp eax, 0xecd9acce
jg 0x40ace6
cmp eax, 0xdab2e332
jg 0x40aebb
cmp eax, 0xd5dcaaab
jle 0x40b113
cmp eax, 0xd5dcaaac
je 0x40b6c8
cmp eax, 0xd60c9712
je 0x40b783
cmp eax, 0xd9bc44ad
jne 0x40aa90
mov eax, 0xe7af7d76
cmp eax, 0xdeb828
jle 0x40aa97
nop dword [eax]
cmp eax, 0x30cd106e
jg 0x40ac30
cmp eax, 0x1483df20
jle 0x40ad2a
cmp eax, 0x28a26d3f
jg 0x40af15
cmp eax, 0x233191c6
jle 0x40b142
cmp eax, 0x233191c7
je 0x40b7af
cmp eax, 0x24dcb820
je 0x40b7d0
cmp eax, 0x2638ba7b
jne 0x40aa90
mov eax, dword [0x4d334c]
mov ebp, 0x65a18e56
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x783a61a2
not eax
and eax, 0x87c59e5d
or ecx, eax
mov eax, ecx
xor ecx, 0x87c59e5c
xor eax, 0x783a61a2
and eax, 0xfffffffe
or ecx, eax
mov eax, ecx
and ecx, 0x1ef63280
not eax
and eax, 0xe109cd7f
or ecx, eax
xor ecx, 0x1ef63280
sete dl
cmp dword [0x4d3350], 0xa
setl al
xor dl, al
mov ecx, edx
not cl
and cl, al
mov eax, ecx
xor al, dl
mov eax, 0x65a18e56
jne 0x40c24b
mov eax, 0x2de6a864
test dl, dl
jne 0x40aa84
jmp 0x40c253
cmp eax, 0x97ab1652
jle 0x40ae0b
cmp eax, 0xb6b64f36
jg 0x40af66
cmp eax, 0x9c8e591b
jle 0x40b16d
cmp eax, 0x9c8e591c
je 0x40b83f
cmp eax, 0xa3293131
je 0x40b867
cmp eax, 0xb0306f93
jne 0x40aa90
mov eax, dword [esp + 0x80]
shl eax, 2
mov dword [esp + 0x84], eax
mov eax, 0x97ab1653
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x61bb04d1
jle 0x40ae5f
cmp eax, 0x660bdb2f
jg 0x40afb1
cmp eax, 0x63595139
jle 0x40b19c
cmp eax, 0x6359513a
je 0x40b8f2
cmp eax, 0x656c51b0
je 0x40b97b
cmp eax, 0x65a18e56
jne 0x40aa90
mov eax, dword [0x4d334c]
mov ecx, dword [0x4d3350]
mov ebp, 0x811cb8ff
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
xor edx, 1
not eax
and eax, 0xfffffffe
or edx, eax
cmp edx, 0xffffffff
sete al
setne ah
cmp ecx, 9
setg dh
cmp ecx, 0xa
setl cl
and dh, al
mov dl, cl
xor dl, ah
and dl, cl
and cl, ah
mov eax, 0x811cb8ff
or cl, dh
jne 0x40acc1
mov ebp, 0x556af484
xor cl, dl
test dl, dl
jne 0x40accc
mov ebp, 0x556af484
test cl, cl
jne 0x40aa90
mov eax, ebp
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0xf1efe2dd
jle 0x40aff2
cmp eax, 0xfc3a8e12
jle 0x40b222
cmp eax, 0xfc3a8e13
je 0x40b990
cmp eax, 0xff5f9b4e
je 0x40b9a5
cmp eax, 0xffa809fc
jne 0x40aa90
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
jmp 0x40bf54
cmp eax, 0x70899ba
jle 0x40b028
cmp eax, 0x1187f129
jle 0x40b25a
cmp eax, 0x1187f12a
je 0x40b9c6
cmp eax, 0x140c7c32
je 0x40ba42
cmp eax, 0x141f0b3b
jne 0x40aa90
mov ecx, dword [0x4d334c]
mov eax, dword [0x4d3350]
mov edi, ebx
mov ebp, 0x2a65278d
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0xaf0e0277
not ecx
and ecx, 0x50f1fd88
or edx, ecx
mov ecx, edx
xor edx, 0x5080cc80
xor ecx, 0xaf0e0277
and edx, 0x7384cce7
mov esi, ecx
and ecx, 0xfffffffe
and esi, 0x8c7b3318
or esi, edx
xor esi, 0x8c7b3319
or ecx, esi
cmp ecx, 0xffffffff
sete ch
setne dh
cmp eax, 9
setg bl
cmp eax, 0xa
mov eax, 0x2a65278d
setl cl
and bl, ch
mov dl, cl
xor dl, dh
and dl, cl
and cl, dh
or cl, bl
jne 0x40ade1
mov ebp, 0x656c51b0
xor cl, dl
test dl, dl
jne 0x40adec
mov ebp, 0x656c51b0
test cl, cl
mov ebx, edi
jne 0x40adf4
mov eax, ebp
mov edi, dword [esp + 0xe8]
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x907d1384
jle 0x40b05e
cmp eax, 0x938be6ca
jle 0x40b31c
cmp eax, 0x938be6cb
je 0x40c25a
cmp eax, 0x94abbe9e
je 0x40bac7
cmp eax, 0x95cc2dbc
jne 0x40aa90
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov eax, 0xcc339bd4
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x462dedd3
jle 0x40b09e
cmp eax, 0x556af483
jle 0x40b347
cmp eax, 0x556af484
je 0x40bae7
cmp eax, 0x56f046c5
je 0x40bb0c
cmp eax, 0x5a441c36
jne 0x40aa90
mov eax, dword [esp + 0x88]
mov eax, dword [eax]
mov dword [esp + 0x8c], eax
mov eax, 0x660bdb30
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0xdd312a88
jle 0x40b3c3
cmp eax, 0xdd312a89
je 0x40bb32
cmp eax, 0xdd3840d8
je 0x40bb52
cmp eax, 0xe7af7d76
jne 0x40aa90
push 0x235
lea eax, [esp + 0xb8]
push eax
call fcn.004086b0
add esp, 8
mov dword [esp + 0x5c], eax
mov eax, 0x28a26d40
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x2c4cace6
jle 0x40b3f6
cmp eax, 0x2c4cace7
je 0x40bb85
cmp eax, 0x2cc1a843
je 0x40bbed
cmp eax, 0x2de6a864
jne 0x40aa90
lea ecx, [esp + 0xb4]
push dword [esp + 0x58]
call fcn.0040c2b0
mov eax, 0x65a18e56
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0xc20a328c
jle 0x40b4a1
cmp eax, 0xc20a328d
je 0x40bc8b
cmp eax, 0xc4377973
je 0x40bcab
cmp eax, 0xc7299e0d
jne 0x40aa90
mov eax, dword [esp + 0x78]
add eax, ebx
mov dword [esp + 0x7c], eax
mov eax, 0xff5f9b4e
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x6c2901a5
jle 0x40b504
cmp eax, 0x6c2901a6
je 0x40bcca
cmp eax, 0x790e73c1
je 0x40bd44
cmp eax, 0x7ff20740
jne 0x40aa90
mov eax, 0x2638ba7b
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0xecd9accf
je 0x40c28c
cmp eax, 0xee468d3f
je 0x40c273
cmp eax, 0xf12b5163
jne 0x40aa90
mov eax, 0x141f0b3b
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x28ab083
jg 0x40b55b
cmp eax, 0xdeb829
je 0x40bd59
cmp eax, 0x1803c1e
jne 0x40aa90
mov eax, 0x2cc1a843
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x86f78da1
jg 0x40b5e8
cmp eax, 0x811cb8ff
je 0x40bd8c
cmp eax, 0x82c5e64d
jne 0x40aa90
mov eax, dword [esp + 0x74]
mov eax, dword [eax]
mov dword [esp + 0x78], eax
mov eax, 0xc7299e0d
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x42aba1a0
jg 0x40b690
cmp eax, 0x30cd106f
je 0x40be3f
cmp eax, 0x4277b537
jne 0x40aa90
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov eax, dword [esp + 0xa0]
mov eax, 0x2c4cace7
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0xcc339bd4
je 0x40becd
cmp eax, 0xd2141192
jne 0x40aa90
mov eax, dword [esp + 0x50]
mov eax, 0x57f6a18
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x1483df21
je 0x40beea
cmp eax, 0x2212ec3f
jne 0x40aa90
mov eax, 0x61bb04d2
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x97ab1653
je 0x40bf69
cmp eax, 0x9b75e243
jne 0x40aa90
mov eax, dword [esp + 0x54]
mov eax, 0x30cd106f
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x61bb04d2
je 0x40bf90
cmp eax, 0x62fe5a57
jne 0x40aa90
mov eax, dword [0x4d334c]
mov edx, dword [0x4d3350]
mov esi, 0x42aba1a1
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor ecx, 1
not eax
and eax, 0xfffffffe
or ecx, eax
mov eax, ecx
and ecx, 0xfaba3724
not eax
and eax, 0x545c8db
or ecx, eax
xor ecx, 0xfaba3724
sete al
setne ah
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
or dl, ah
xor cl, al
mov eax, 0xee468d3f
jne 0x40b20d
mov esi, 0xee468d3f
xor cl, dl
test dl, dl
jne 0x40b215
mov eax, esi
test cl, cl
jne 0x40aa90
jmp 0x40c277
cmp eax, 0xf1efe2de
je 0x40b3ae
cmp eax, 0xf357b212
jne 0x40aa90
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x24]
add eax, ebx
mov dword [esp + 0x64], eax
mov eax, 0x439c2468
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x70899bb
je 0x40bfc5
cmp eax, 0xb220cf3
jne 0x40aa90
mov ecx, dword [0x4d334c]
mov eax, dword [0x4d3350]
mov ebp, 0xdab2e333
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0x3ef4842f
not ecx
and ecx, 0xc10b7bd0
or edx, ecx
mov ecx, edx
xor edx, 0x92990
xor ecx, 0x3ef4842f
and edx, 0x229adb0
mov esi, ecx
and ecx, 0xfffffffe
and esi, 0xfdd6524f
or esi, edx
xor esi, 0xfdd6524e
or ecx, esi
mov edx, ecx
and ecx, 0x682f4691
not edx
and edx, 0x97d0b96e
or ecx, edx
xor ecx, 0x682f4691
setne dl
cmp eax, 9
setg cl
cmp eax, 0xa
mov eax, ecx
setl ch
xor cl, dl
and al, dl
xor ch, dl
mov edx, 0xdab2e333
or cl, al
mov eax, 0x6359513a
jne 0x40b303
mov ebp, 0x6359513a
xor cl, ch
test ch, ch
jne 0x40c10f
mov edx, ebp
test cl, cl
jne 0x40aa90
jmp 0x40c117
cmp eax, 0x907d1385
je 0x40bfd6
cmp eax, 0x90ffb324
jne 0x40aa90
mov eax, 0x95cc2dbc
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x462dedd4
je 0x40bff7
cmp eax, 0x4f2dae61
jne 0x40aa90
mov eax, dword [0x4d334c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor ecx, 1
not eax
and eax, 0xfffffffe
or ecx, eax
cmp ecx, 0xffffffff
sete al
cmp dword [0x4d3350], 0xa
setl cl
mov edx, ecx
or cl, al
xor dl, al
xor cl, 1
mov eax, 0x1187f12a
or cl, dl
jne 0x40b39b
mov eax, 0x6c2901a6
xor cl, dl
test dl, dl
jne 0x40b3a6
mov eax, 0x1187f12a
test cl, cl
jne 0x40aa90
mov eax, 0x6c2901a6
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0xdab2e333
je 0x40c01c
cmp eax, 0xdc669385
jne 0x40aa90
mov dword [esp + 8], 0
mov eax, 0xb8f3da91
mov ecx, dword [esp + 0x40]
mov dword [esp], 0
jmp 0x40bfb1
cmp eax, 0x28a26d40
je 0x40c041
cmp eax, 0x2a65278d
jne 0x40aa90
mov eax, dword [0x4d334c]
mov ebp, 0x4f2dae61
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x495017c7
not eax
and eax, 0xb6afe838
or ecx, eax
mov eax, ecx
xor ecx, 0xb60a8820
xor eax, 0x495017c7
and ecx, 0xb61a9aa7
mov edx, eax
and eax, 0xfffffffe
and edx, 0x49e56558
or edx, ecx
xor edx, 0x49e56559
or eax, edx
mov ecx, eax
and eax, 0x3cfc23fc
not ecx
and ecx, 0xc303dc03
or eax, ecx
xor eax, 0x3cfc23fc
sete dl
cmp dword [0x4d3350], 0xa
setl al
xor dl, al
mov ecx, edx
not cl
and cl, al
mov eax, ecx
xor al, dl
mov eax, 0x4f2dae61
jne 0x40c24b
mov eax, 0x656c51b0
test dl, dl
jne 0x40aa84
jmp 0x40c253
cmp eax, 0xb6b64f37
je 0x40c061
cmp eax, 0xb8f3da91
jne 0x40aa90
mov eax, dword [esp + 4]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 8]
mov dword [esp + 0xa0], eax
mov eax, dword [esp]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0xa0]
cmp ecx, eax
mov eax, 0xc20a328d
jb 0x40aa90
mov eax, 0x70899bb
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x660bdb30
je 0x40c129
cmp eax, 0x66c2add1
jne 0x40aa90
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, 0x24dcb820
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x28ab084
je 0x40c18d
cmp eax, 0x57f6a18
jne 0x40aa90
mov eax, dword [0x4d334c]
mov ecx, dword [0x4d3350]
mov ebp, 0x66c2add1
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 0x1ef3eef9
not eax
and eax, 0xe10c1106
or edx, eax
mov eax, edx
xor edx, 0xe10c1107
xor eax, 0x1ef3eef8
and eax, 0xfffffffe
or edx, eax
cmp edx, 0xffffffff
sete al
setne ah
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg cl
and dl, ah
and al, cl
or cl, ah
or dl, al
mov eax, ecx
xor al, dl
mov eax, 0x24dcb820
jne 0x40bc7c
mov ebp, 0x24dcb820
test dl, dl
jne 0x40aa84
jmp 0x40bc84
cmp eax, 0x86f78da2
je 0x40c1b9
cmp eax, 0x8db89c2a
jne 0x40aa90
lea ecx, [esp + 0xb4]
call fcn.0040c950
mov eax, dword [esp + 0x50]
cmp dword [esp + 0xac], 0
mov eax, dword [0x4d334c]
lea ecx, [eax - 1]
sete byte [esp + 0x97]
imul ecx, eax
mov eax, ecx
and ecx, 0x4999bcca
not eax
mov edx, eax
and edx, 0xb6664335
or ecx, edx
xor ecx, 0x4999bccb
xor eax, ecx
test eax, ecx
setne al
cmp dword [0x4d3350], 9
mov edx, eax
setg cl
xor dl, cl
and cl, al
mov eax, 0x28ab084
or cl, dl
jne 0x40b668
mov eax, 0x86f78da2
xor cl, dl
test dl, dl
jne 0x40b673
mov eax, 0x28ab084
test cl, cl
jne 0x40aa90
mov eax, 0x86f78da2
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp eax, 0x42aba1a1
je 0x40c1e8
cmp eax, 0x439c2468
jne 0x40aa90
mov eax, dword [esp + 0xa0]
add eax, eax
mov dword [esp + 0x68], eax
mov eax, 0x907d1385
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov ecx, dword [0x4d334c]
mov eax, dword [0x4d3350]
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0x7ac1e802
not ecx
and ecx, 0x853e17fd
or edx, ecx
mov ecx, edx
xor edx, 0x811c01f9
xor ecx, 0x7ac1e802
and edx, 0xab5c81f9
mov esi, ecx
and ecx, 0xfffffffe
and esi, 0x54a37e06
or esi, edx
xor esi, 0x54a37e07
or ecx, esi
mov edx, ecx
and ecx, 0xbdc45677
not edx
and edx, 0x423ba988
or ecx, edx
xor ecx, 0xbdc45677
setne dl
sete ch
cmp eax, 0xa
setl cl
cmp eax, 9
setg al
and dl, cl
and al, ch
or dl, al
mov eax, ecx
or cl, ch
xor al, ch
xor cl, 1
or cl, al
mov eax, 0x2de6a864
jne 0x40b75b
mov eax, 0xd9bc44ad
xor cl, dl
test dl, dl
jne 0x40b766
mov eax, 0x2de6a864
test cl, cl
jne 0x40aa90
mov eax, 0xd9bc44ad
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x6c]
movzx eax, word [eax]
mov word [esp + 0x72], ax
mov eax, dword [esp + 0x38]
add eax, 0x1c
mov dword [esp + 0x74], eax
mov eax, 0x82c5e64d
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x30]
mov eax, dword [eax]
add eax, ebx
mov dword [esp + 0x34], eax
mov eax, 0x9c8e591c
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x4c]
mov ecx, dword [0x4d3350]
add eax, ebx
mov dword [esp + 0x54], eax
mov eax, dword [0x4d334c]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 1
not eax
mov esi, eax
and esi, 0xfffffffe
or edx, esi
not edx
or edx, eax
cmp edx, 0xffffffff
sete al
setne ah
cmp ecx, 0xa
setl dl
cmp ecx, 9
setg cl
or dl, al
xor cl, ah
xor dl, 1
or dl, cl
mov eax, edx
xor al, cl
mov eax, 0x66c2add1
jne 0x40b82b
mov eax, 0xf12b5163
test dl, dl
mov edx, eax
jne 0x40beb8
mov edx, 0xf12b5163
jmp 0x40beb8
mov eax, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
add eax, 0x20
mov dword [esp + 0x3c], eax
mov eax, 0x1483df21
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov ecx, dword [0x4d334c]
mov eax, dword [0x4d3350]
mov ebp, 0x4277b537
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0xfe08e184
not ecx
and ecx, 0x1f71e7b
or edx, ecx
mov ecx, edx
xor edx, 0x760c70
xor ecx, 0xfe08e184
and edx, 0x40764cf0
mov esi, ecx
and ecx, 0xfffffffe
and esi, 0xbf89b30f
or esi, edx
xor esi, 0xbf89b30e
or ecx, esi
cmp ecx, 0xffffffff
sete ch
setne dh
cmp eax, 0xa
setl dl
cmp eax, 9
setg cl
xor dl, ch
or cl, dh
mov eax, ecx
xor al, dl
mov eax, 0x2c4cace7
jne 0x40bc7c
mov ebp, 0x2c4cace7
test dl, dl
jne 0x40aa84
jmp 0x40bc84
mov eax, dword [esp + 0x20]
mov esi, 0xdab2e333
mov ebp, 0xdab2e333
add eax, ebx
mov dword [esp + 0x24], eax
mov eax, dword [0x4d334c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x83670809
not eax
mov edx, eax
and edx, 0x7c98f7f6
or ecx, edx
xor ecx, 0x7c98f7f7
or ecx, eax
cmp ecx, 0xffffffff
sete al
setne dl
cmp dword [0x4d3350], 0xa
setl cl
mov ah, cl
xor dl, cl
or cl, al
xor ah, al
xor cl, 1
or cl, ah
mov eax, 0x790e73c1
jne 0x40b959
mov ebp, 0x790e73c1
xor cl, dl
test dl, dl
jne 0x40b961
mov esi, ebp
test cl, cl
jne 0x40aa90
mov eax, esi
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, 0x2a65278d
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, 0xdc669385
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
movzx eax, word [esp + 0x72]
mov dword [esp + 0x80], eax
mov eax, 0xb0306f93
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [0x4d334c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x6bfea49a
not eax
mov edx, eax
and eax, 0xfffffffe
and edx, 0x94015b65
or edx, ecx
xor edx, 0x94015b64
or eax, edx
mov ecx, eax
and eax, 0xec8ee36f
not ecx
and ecx, 0x13711c90
or eax, ecx
xor eax, 0xec8ee36f
sete al
cmp dword [0x4d3350], 0xa
mov ecx, eax
setl dl
xor cl, dl
or dl, al
xor dl, 1
or dl, cl
mov eax, edx
xor al, cl
mov eax, 0x9b75e243
jne 0x40ba2e
mov eax, 0x30cd106f
test dl, dl
mov edx, eax
jne 0x40beb8
mov edx, 0x30cd106f
jmp 0x40beb8
mov eax, dword [esp + 0x3c]
mov eax, dword [eax]
add eax, ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x44], eax
mov eax, dword [0x4d334c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x71b610ad
not eax
mov edx, eax
and edx, 0x8e49ef52
or ecx, edx
mov edx, 0xfc3a8e13
xor ecx, 0x8e49ef53
or ecx, eax
cmp ecx, 0xffffffff
sete cl
cmp dword [0x4d3350], 0xa
setl al
xor cl, al
mov ch, cl
not ch
and ch, al
test cl, cl
mov eax, 0xfc3a8e13
jne 0x40baab
mov edx, 0xffa809fc
xor cl, ch
test ch, ch
jne 0x40c10f
mov edx, 0xffa809fc
test cl, cl
jne 0x40aa90
jmp 0x40c117
lea eax, [esp + 0xb4]
mov dword [esp + 0x50], eax
mov eax, 0xd2141192
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
lea ecx, [esp + 0xb4]
push dword [esp + 0x58]
call fcn.0040c2b0
mov eax, 0x811cb8ff
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x9c]
add eax, 4
mov dword [esp + 0x90], eax
mov eax, 0xdeb829
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x20], eax
mov eax, 0xb220cf3
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x10], 2
mov dword [esp + 0xc], eax
mov eax, 0xb6b64f37
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x14], ecx
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0xa0]
inc eax
mov dword [esp + 0x98], eax
mov eax, dword [0x4d334c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 1
not eax
mov edx, eax
and edx, 0xfffffffe
or ecx, edx
not ecx
or ecx, eax
cmp ecx, 0xffffffff
setne al
cmp dword [0x4d3350], 9
setg cl
mov edx, ecx
xor cl, al
and dl, al
or dl, cl
mov eax, edx
xor al, cl
mov eax, 0x4277b537
jne 0x40bbd9
mov eax, 0x2212ec3f
test dl, dl
mov edx, eax
jne 0x40beb8
mov edx, 0x2212ec3f
jmp 0x40beb8
mov ecx, dword [0x4d334c]
mov eax, dword [0x4d3350]
mov ebp, 0x1803c1e
lea edx, [ecx - 1]
imul edx, ecx
mov ecx, edx
and edx, 0x6e3117c6
not ecx
and ecx, 0x91cee839
or edx, ecx
mov ecx, edx
xor edx, 0x8c4021
xor ecx, 0x6e3117c6
and edx, 0x20ad44a5
mov esi, ecx
and ecx, 0xfffffffe
and esi, 0xdf52bb5a
or esi, edx
xor esi, 0xdf52bb5b
or ecx, esi
mov edx, ecx
and ecx, 0xa0791baa
not edx
and edx, 0x5f86e455
or ecx, edx
xor ecx, 0xa0791baa
sete ch
setne dh
cmp eax, 0xa
setl dl
cmp eax, 9
setg cl
xor dl, ch
or cl, dh
mov eax, ecx
xor al, dl
mov eax, 0xdd3840d8
jne 0x40bc7c
mov ebp, 0xdd3840d8
test dl, dl
jne 0x40aa84
mov eax, ebp
jmp 0x40aa84
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x48], eax
mov eax, 0xc4377973
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x48]
mov eax, dword [eax]
mov dword [esp + 0x4c], eax
mov eax, 0x94abbe9e
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x54]
mov edx, dword [0x4d3350]
mov dword [esp + 0x58], eax
mov eax, dword [0x4d334c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 1
not eax
mov esi, eax
and esi, 0xfffffffe
or ecx, esi
mov esi, 0x7ff20740
not ecx
or ecx, eax
cmp ecx, 0xffffffff
sete al
setne ah
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
or dl, ah
xor cl, al
mov eax, 0x1187f12a
jne 0x40bd1f
mov esi, 0x1187f12a
xor cl, dl
test dl, dl
jne 0x40bd27
mov eax, esi
test cl, cl
jne 0x40aa90
mov eax, 0x7ff20740
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, 0x62fe5a57
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x90]
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
mov eax, 0xb6b64f37
mov ecx, dword [esp + 0xa4]
mov dword [esp + 0xc], ecx
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
lea ecx, [esp + 0xb4]
push dword [esp + 0x58]
call fcn.0040c2b0
mov eax, dword [0x4d334c]
mov esi, 0xd5dcaaac
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xc9059588
not eax
and eax, 0x36fa6a77
or ecx, eax
mov eax, ecx
xor ecx, 0x20402063
xor eax, 0xc9059588
and ecx, 0xe0453163
mov edx, eax
and eax, 0xfffffffe
and edx, 0x1fbace9c
or edx, ecx
xor edx, 0x1fbace9d
or eax, edx
mov ecx, eax
and eax, 0xd09d7cae
not ecx
and ecx, 0x2f628351
or eax, ecx
xor eax, 0xd09d7cae
setne al
cmp dword [0x4d3350], 9
setg cl
mov edx, ecx
or dl, al
xor cl, al
mov eax, 0x556af484
jne 0x40be1a
mov esi, 0x556af484
xor cl, dl
test dl, dl
jne 0x40be22
mov eax, esi
test cl, cl
jne 0x40aa90
mov eax, 0xd5dcaaac
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x54]
mov eax, dword [0x4d334c]
mov esi, dword [0x4d3350]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x58afb648
not eax
and eax, 0xa75049b7
or ecx, eax
mov eax, ecx
xor ecx, 0xa75049b6
xor eax, 0x58afb648
and eax, 0xfffffffe
or ecx, eax
cmp ecx, 0xffffffff
setne cl
sete al
cmp esi, 0xa
setl dl
cmp esi, 9
setg ah
and cl, dl
and ah, al
or cl, ah
mov ah, dl
or dl, al
xor ah, al
xor dl, 1
or dl, ah
mov eax, edx
xor al, cl
mov eax, 0x9b75e243
jne 0x40bead
mov eax, 0xf1efe2de
test dl, dl
mov edx, eax
jne 0x40beb8
mov edx, 0xf1efe2de
test cl, cl
cmovne eax, edx
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x30], eax
mov eax, 0x233191c7
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [0x4d334c]
mov edx, dword [0x4d3350]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xf6caacb0
not eax
mov esi, eax
and esi, 0x935534f
or ecx, esi
mov esi, 0x140c7c32
xor ecx, 0xf6caacb1
xor eax, ecx
test eax, ecx
sete al
setne ah
cmp edx, 0xa
setl cl
cmp edx, 9
setg dl
and cl, ah
and al, dl
or dl, ah
or cl, al
mov eax, 0xffa809fc
jne 0x40bf44
mov esi, 0xffa809fc
xor cl, dl
test dl, dl
jne 0x40bf4c
mov eax, esi
test cl, cl
jne 0x40aa90
mov eax, 0x140c7c32
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x7c]
add eax, dword [esp + 0x84]
mov dword [esp + 0x88], eax
mov eax, 0x5a441c36
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x98]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, 0xb8f3da91
mov ecx, dword [esp + 0xa8]
mov dword [esp + 4], ecx
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov ecx, dword [esp + 0xa4]
mov eax, 0xecd9accf
jmp 0x40c1d4
mov eax, dword [esp + 0x64]
add eax, dword [esp + 0x68]
mov dword [esp + 0x6c], eax
mov eax, 0xd60c9712
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp byte [esp + 0x63], 0
mov eax, 0xf357b212
jne 0x40aa90
mov eax, 0x56f046c5
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, dword [esp + 0x20]
mov eax, 0x6359513a
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x5c]
cmp eax, edi
mov eax, 0x462dedd4
sete byte [esp + 0x63]
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x14]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
mov eax, dword [0x4d334c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x1a406bc9
not eax
and eax, 0xe5bf9436
or ecx, eax
mov eax, ecx
xor ecx, 0x413c8012
xor eax, 0x1a406bc9
and ecx, 0x433ca992
mov edx, eax
and eax, 0xfffffffe
and edx, 0xbcc3566d
or edx, ecx
xor edx, 0xbcc3566c
or eax, edx
mov edx, 0x8db89c2a
mov ecx, eax
and eax, 0x295e74ff
not ecx
and ecx, 0xd6a18b00
or eax, ecx
xor eax, 0x295e74ff
sete cl
cmp dword [0x4d3350], 0xa
setl al
xor cl, al
mov ch, cl
not ch
and ch, al
test cl, cl
mov eax, 0x8db89c2a
jne 0x40c104
mov edx, 0x28ab084
xor cl, ch
test ch, ch
jne 0x40c10f
mov edx, 0x28ab084
test cl, cl
jne 0x40aa90
mov eax, edx
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [0x4d334c]
mov ebp, 0x2cc1a843
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0x7cadde95
not eax
mov edx, eax
and edx, 0x8352216a
or ecx, edx
xor ecx, 0x7cadde94
xor eax, ecx
test eax, ecx
sete dl
cmp dword [0x4d3350], 0xa
setl al
xor dl, al
mov ecx, edx
not cl
and cl, al
mov eax, ecx
xor al, dl
mov eax, 0x2cc1a843
jne 0x40c24b
mov eax, 0x1803c1e
test dl, dl
jne 0x40aa84
jmp 0x40c253
lea ecx, [esp + 0xb4]
call fcn.0040c950
mov eax, dword [esp + 0x50]
mov eax, dword [esp + 0xac]
mov eax, 0x8db89c2a
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
cmp byte [esp + 0x97], 0
mov eax, 0xa3293131
jne 0x40c1cd
mov eax, 0xecd9accf
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x18], ecx
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x24]
mov ebp, 0x90ffb324
add eax, 0x78
mov dword [esp + 0x28], eax
mov eax, dword [0x4d334c]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor ecx, 1
not eax
and eax, 0xfffffffe
or ecx, eax
mov eax, ecx
and ecx, 0x406a9252
not eax
and eax, 0xbf956dad
or ecx, eax
xor ecx, 0x406a9252
sete dl
cmp dword [0x4d3350], 0xa
setl al
xor dl, al
mov ecx, edx
not cl
and cl, al
mov eax, ecx
xor al, dl
mov eax, 0x90ffb324
jne 0x40c24b
mov eax, 0xee468d3f
test dl, dl
jne 0x40aa84
mov ebp, eax
jmp 0x40aa84
mov dword [esp + 0x1c], ebx
mov eax, 0xdd312a89
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov eax, dword [esp + 0x24]
mov eax, 0x42aba1a1
cmp eax, 0xdeb828
jle 0x40aa97
jmp 0x40aaf0
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0xcc]
xor ecx, esp
add esi, ebx
call fcn.004affb3
mov eax, esi
add esp, 0xd0
pop esi
pop edi
pop ebx
pop ebp
ret