Function at 0x4354a5
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, 0xec
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x58], eax
mov dword [esp], 0xd55720f6
mov ebx, 0x9f4a9c28
mov edi, 0x2e48120a
mov esi, 0x90fa3d6f
mov eax, dword [esp]
cmp eax, 0xf4dacfa4
jle 0x435546
cmp eax, 0x40bbcac2
jle 0x43559f
cmp eax, 0x6bd5b0d4
jg 0x435669
cmp eax, 0x532d277a
jg 0x4357c8
cmp eax, 0x44768b96
jle 0x435a60
cmp eax, 0x44768b97
je 0x435ea4
cmp eax, 0x4b2a1ac8
je 0x435ee9
cmp eax, 0x4be41735
jne 0x4354d2
mov eax, dword [0x45cae8]
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x3c]
dec eax
mov dword [esp + 0xac], eax
mov dword [esp], 0x918ef2af
jmp 0x4354d2
cmp eax, 0xaa5c5ac9
jle 0x435613
cmp eax, 0xd55720f5
jg 0x4356da
cmp eax, 0xbf9aed7f
jg 0x435800
cmp eax, 0xaef58b1c
jle 0x435a9a
cmp eax, 0xaef58b1d
je 0x435f0a
cmp eax, 0xb365a02b
je 0x435f1e
cmp eax, 0xb38983b1
jne 0x4354d2
mov dword [esp], 0x74ba03a7
jmp 0x4354d2
cmp eax, 0x193fb9b4
jg 0x435732
cmp eax, 0x473caa6
jg 0x435843
cmp eax, 0xfb11dbc8
jle 0x435aeb
cmp eax, 0xfb11dbc9
je 0x435f69
cmp eax, 0xfec37b2b
je 0x435f96
cmp eax, 0x3b9026c
jne 0x4354d2
mov eax, dword [esp + 0x38]
imul eax, dword [esp + 0x9c]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
not eax
or eax, ecx
cmp eax, 0xffffffff
sete byte [esp + 0x12]
mov dword [esp], 0x8a32fd9a
jmp 0x4354d2
cmp eax, 0x90fa3d6e
jle 0x43577d
cmp eax, 0x9f2422b1
jg 0x4358d6
cmp eax, 0x9900becc
jle 0x435b14
cmp eax, 0x9900becd
je 0x435fcc
cmp eax, 0x994bb540
je 0x436013
cmp eax, 0x9e0177ed
jne 0x4354d2
mov eax, dword [esp + 0x18]
mov dword [esp], 0x730e590b
mov dword [esp + 0x20], eax
jmp 0x4354d2
cmp eax, 0x74aee891
jg 0x435919
cmp eax, 0x72cfa48f
jle 0x435b81
cmp eax, 0x72cfa490
je 0x43601f
cmp eax, 0x730e590b
je 0x43603d
cmp eax, 0x736400d6
jne 0x4354d2
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
cmp ecx, eax
sete byte [esp + 0xc]
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0x80], ecx
lea ecx, [eax - 1]
imul ecx, eax
mov dword [esp + 0x84], ecx
mov dword [esp], 0x8e8cbce9
jmp 0x4354d2
cmp eax, 0xe67c4589
jg 0x435986
cmp eax, 0xde65064a
jle 0x435bd4
cmp eax, 0xde65064b
je 0x43605e
cmp eax, 0xe3879693
je 0x436075
cmp eax, 0xe53efa62
jne 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x44], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0xb8], eax
mov dword [esp], 0xc6619d2
jmp 0x4354d2
cmp eax, 0x29e218e6
jg 0x4359df
cmp eax, 0x24ed657d
jle 0x435c08
cmp eax, 0x24ed657e
je 0x43608a
cmp eax, 0x25eb7be3
je 0x4360f5
cmp eax, 0x299efe48
jne 0x4354d2
cmp byte [esp + 0x13], 0
mov eax, 0x25eb7be3
mov ecx, 0x7ca46eb1
jmp 0x436563
cmp eax, 0x884ff191
jle 0x435a2b
cmp eax, 0x8e8cbce8
jle 0x435c2a
cmp eax, 0x8e8cbce9
je 0x436116
cmp eax, 0x8f2f9855
je 0x436159
cmp eax, 0x8fad71ad
jne 0x4354d2
cmp byte [esp + 0x11], 0
mov eax, 0xb38983b1
mov ecx, 0x74ba03a7
jmp 0x436563
cmp eax, 0x59fad8ea
jle 0x435c7c
cmp eax, 0x59fad8eb
je 0x4361a0
cmp eax, 0x5a1c78dc
je 0x4361ac
cmp eax, 0x61ed018d
jne 0x4354d2
mov dword [esp], 0xf2154342
jmp 0x4354d2
cmp eax, 0xcb038b45
jle 0x435cf3
cmp eax, 0xcb038b46
je 0x4361cd
cmp eax, 0xd37bec55
je 0x4361d9
cmp eax, 0xd47dd9b7
jne 0x4354d2
mov eax, dword [esp + 4]
add eax, 0x30
mov dword [esp + 0x5c], eax
mov dword [esp], 0x40c2cdaf
jmp 0x4354d2
cmp eax, 0xc6619d1
jle 0x435d45
cmp eax, 0xc6619d2
je 0x436206
cmp eax, 0xddffc6f
je 0x436235
cmp eax, 0x132b979f
jne 0x4354d2
mov eax, dword [esp + 0xa4]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x28c7b03f
and eax, 0xd7384fc0
or eax, edx
xor eax, 0xd7384fc1
xor ecx, eax
test ecx, eax
sete al
setne dl
mov ecx, dword [esp + 0xa0]
cmp ecx, 0xa
setge cl
setl ah
and ah, dl
and al, cl
or al, ah
mov ah, cl
and ah, dl
xor cl, dl
or cl, ah
mov edx, ecx
xor dl, al
not al
not dl
or al, cl
not al
or al, dl
and al, 1
mov byte [esp + 0x13], al
mov dword [esp], 0x299efe48
jmp 0x4354d2
cmp eax, 0xa3d74f3b
jle 0x435d7d
cmp eax, 0xa3d74f3c
je 0x436294
cmp eax, 0xa7c268f3
je 0x4362a8
cmp eax, 0xa8799faf
jne 0x4354d2
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xcc]
mov dword [esp], 0x29e218e7
jmp 0x4354d2
cmp eax, 0x7ca46eb0
jle 0x435d9f
cmp eax, 0x7ca46eb1
je 0x4362e1
cmp eax, 0x7e469769
je 0x4362f6
cmp eax, 0x7e4774a2
jne 0x4354d2
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0x8c], ecx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
and eax, 0xfffffffe
xor ecx, 1
or ecx, eax
xor ecx, 0x2dcd3cc5
cmp ecx, 0xd232c33a
sete byte [esp + 0x10]
mov dword [esp], 0xbf9aed80
jmp 0x4354d2
cmp eax, 0xea4d6e46
jle 0x435dd6
cmp eax, 0xea4d6e47
je 0x43630c
cmp eax, 0xed3f152c
je 0x43635d
cmp eax, 0xf2154342
jne 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x54], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0x54]
dec eax
mov dword [esp + 0xd8], eax
mov dword [esp], 0x9f2422b2
jmp 0x4354d2
cmp eax, 0x30041d16
jle 0x435df8
cmp eax, 0x30041d17
je 0x4363ad
cmp eax, 0x392d14f5
jne 0x4366f5
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0xa0], ecx
lea ecx, [eax - 1]
imul ecx, eax
mov dword [esp + 0xa4], ecx
mov dword [esp], 0x132b979f
jmp 0x4354d2
cmp eax, 0x84832a1b
jg 0x435e1a
cmp eax, 0x8167b1d6
je 0x4363f8
cmp eax, 0x819df09f
jne 0x4354d2
mov dword [esp], 0x730e590b
mov eax, dword [esp + 4]
mov dword [esp + 0x20], eax
jmp 0x4354d2
cmp eax, 0x40bbcac3
je 0x43640f
cmp eax, 0x40c2cdaf
jne 0x4354d2
mov eax, dword [esp + 0x5c]
push 0x456e38
push dword [eax]
call dword [str.en_AU]
test eax, eax
sete byte [esp + 8]
mov dword [esp], 0x4b2a1ac8
jmp 0x4354d2
cmp eax, 0xaa5c5aca
je 0x436480
cmp eax, 0xaae1ef7f
jne 0x4354d2
mov ecx, dword [esp + 0x28]
inc ecx
imul ecx, dword [esp + 0x28]
mov eax, ecx
not eax
and ecx, 0xae93dae
mov edx, eax
and edx, 0xf516c251
or edx, ecx
xor edx, 0xf516c250
and eax, 0xfffffffe
or eax, edx
not eax
mov dword [esp + 0x78], eax
mov dword [esp], 0x8f2f9855
jmp 0x4354d2
cmp eax, 0xf4dacfa5
je 0x4364cf
cmp eax, 0xf77825eb
jne 0x4354d2
mov eax, dword [esp + 0xe0]
mov dword [esp], 0xe7accdd6
jmp 0x4354d2
cmp eax, 0x90fa3d6f
je 0x4364f0
cmp eax, 0x918ef2af
jne 0x4354d2
mov eax, dword [esp + 0x3c]
imul eax, dword [esp + 0xac]
mov ecx, eax
not ecx
and ecx, 0xfffffffe
xor eax, 1
or eax, ecx
cmp eax, 0xffffffff
setne al
mov ecx, dword [esp + 0xa8]
cmp ecx, 0xa
setge cl
setl dl
xor dl, al
mov ah, al
and ah, cl
xor al, cl
or al, ah
mov ecx, edx
xor cl, al
test al, al
mov eax, 0xe3879693
cmovne eax, edi
test dl, dl
cmovne eax, edi
test cl, cl
mov ecx, 0xe3879693
jmp 0x436563
cmp eax, 0x6bd5b0d5
je 0x43650a
cmp eax, 0x712f3f19
jne 0x4354d2
mov al, byte [esp + 0x14]
mov cl, byte [esp + 0x15]
xor cl, al
mov edx, ecx
xor dl, 1
and dl, al
mov eax, edx
xor al, cl
test cl, 1
mov ecx, 0xcb038b46
mov ebp, 0xd37bec55
cmovne ecx, ebp
test dl, 1
mov edx, 0xcb038b46
cmove ecx, edx
test al, 1
cmovne ecx, ebp
mov dword [esp], ecx
jmp 0x4354d2
cmp eax, 0xd55720f6
je 0x436516
cmp eax, 0xdcac85bd
jne 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x2c], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x7c], eax
mov dword [esp], 0x576ddbf3
jmp 0x4354d2
cmp eax, 0x193fb9b5
je 0x43652d
cmp eax, 0x21feb7d9
jne 0x4354d2
mov dword [esp], 0x736400d6
jmp 0x4354d2
cmp eax, 0x884ff192
je 0x436554
cmp eax, 0x8a32fd9a
jne 0x4354d2
mov eax, dword [esp + 0x98]
cmp eax, 0xa
setl al
setge cl
mov dl, byte [esp + 0x12]
xor al, dl
xor dl, 1
or dl, cl
mov ecx, edx
xor cl, al
test al, 1
mov eax, 0x9f4a9c28
mov ebp, 0x392d14f5
cmovne eax, ebp
test dl, 1
cmovne eax, ebx
test cl, 1
jmp 0x4366b5
cmp eax, 0x532d277b
je 0x43656e
cmp eax, 0x576ddbf3
jne 0x4354d2
mov eax, dword [esp + 0x2c]
inc eax
imul eax, dword [esp + 0x2c]
mov ecx, eax
not ecx
and eax, 0x2f10b1c5
mov edx, ecx
and edx, 0xd0ef4e3a
or edx, eax
xor edx, 0xd0ef4e3b
and ecx, 0xfffffffe
or ecx, edx
cmp ecx, 0xffffffff
sete al
mov ecx, dword [esp + 0x7c]
cmp ecx, 0xa
setl cl
mov edx, eax
xor dl, cl
or al, cl
xor al, 1
or al, dl
xor dl, 1
mov ecx, edx
xor cl, al
or al, dl
not al
or al, cl
and al, 1
mov byte [esp + 0xb], al
mov dword [esp], 0x884ff192
jmp 0x4354d2
cmp eax, 0xbf9aed80
je 0x4365c1
cmp eax, 0xc6d4049b
jne 0x4354d2
mov eax, dword [esp + 0x30]
inc eax
imul eax, dword [esp + 0x30]
mov ecx, eax
not ecx
and eax, 0xf5f6f920
mov edx, ecx
and edx, 0xa0906df
or edx, eax
xor edx, 0xa0906de
and ecx, 0xfffffffe
or ecx, edx
cmp ecx, 0xffffffff
sete byte [esp + 0xf]
mov dword [esp], 0x9900becd
jmp 0x4354d2
cmp eax, 0x473caa7
je 0x4365fb
cmp eax, 0x55e4808
jne 0x4354d2
cmp byte [esp + 0xc], 0
mov eax, 0x7e4774a2
mov ecx, 0x87762b6f
cmovne eax, ecx
mov dword [esp], eax
mov dword [esp + 0x1c], 0
jmp 0x4354d2
cmp eax, 0x9f2422b2
je 0x436612
cmp eax, 0x9f4a9c28
jne 0x4354d2
mov dword [esp], 0x59fad8eb
jmp 0x4354d2
cmp eax, 0x74aee892
je 0x436631
cmp eax, 0x74ba03a7
jne 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x34], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x90], eax
mov dword [esp], 0xa7c268f3
jmp 0x4354d2
cmp eax, 0xe67c458a
je 0x436677
cmp eax, 0xe7accdd6
jne 0x4354d2
mov dword [esp], 0xea4d6e47
jmp 0x4354d2
cmp eax, 0x29e218e7
je 0x4366c0
cmp eax, 0x2e48120a
jne 0x4354d2
mov dword [esp], 0x994bb540
jmp 0x4354d2
cmp eax, 0x84832a1c
je 0x4366cc
cmp eax, 0x87762b6f
jne 0x4354d2
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xe8], eax
mov ecx, dword [0x45cae4]
lea eax, [ecx + 1]
imul eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x2d242347
and eax, 0xd2dbdcb8
or eax, edx
xor eax, 0xd2dbdcb9
xor ecx, eax
test ecx, eax
setne al
sete cl
cmp dword [0x45cae8], 0xa
setl dl
setge ah
and ah, cl
and al, dl
or al, ah
mov ah, cl
xor ah, dl
or cl, dl
xor cl, 1
or cl, ah
mov edx, ecx
xor dl, al
mov edx, 0xfb11dbc9
cmovne edx, ebx
test cl, cl
mov ecx, 0xfb11dbc9
cmovne ecx, edx
test al, al
jmp 0x436289
mov eax, dword [esp + 0x6c]
cmp eax, 0xa
setge cl
setl al
mov dl, byte [esp + 0xa]
xor al, dl
xor dl, 1
mov ah, dl
and ah, cl
xor dl, cl
or dl, ah
mov ecx, edx
xor cl, al
test dl, 1
mov edx, 0xaef58b1d
cmovne edx, esi
test al, 1
cmove edx, esi
test cl, 1
mov eax, 0xaef58b1d
cmove edx, eax
mov dword [esp], edx
jmp 0x4354d2
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x18]
cmp ecx, eax
mov eax, 0x7e4774a2
mov ecx, 0x193fb9b5
cmove eax, ecx
cmp byte [esp + 8], 0
jmp 0x436563
mov dword [esp], 0x87762b6f
mov eax, dword [esp + 0x68]
mov dword [esp + 0x1c], eax
jmp 0x4354d2
mov eax, dword [esp + 0xb4]
mov ecx, eax
not ecx
and ecx, 0xfffffffe
xor eax, 1
or eax, ecx
cmp eax, 0xffffffff
setne al
mov ecx, dword [esp + 0xb0]
cmp ecx, 0xa
setge cl
mov edx, eax
or dl, cl
xor al, cl
mov ecx, edx
xor cl, al
mov ecx, 0xe53efa62
cmovne ecx, edi
test al, al
mov eax, ecx
mov ebp, 0xe53efa62
cmovne eax, ebp
test dl, dl
jmp 0x436563
mov eax, dword [0x45cae4]
mov dword [esp + 0x38], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x38]
dec eax
mov dword [esp + 0x9c], eax
mov dword [esp], 0x3b9026c
jmp 0x4354d2
mov eax, dword [esp + 0x24]
imul eax, dword [esp + 0x64]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xc5956bae
and eax, 0x3a6a9451
or eax, edx
xor eax, 0x3a6a9450
xor ecx, eax
test ecx, eax
sete byte [esp + 9]
mov dword [esp], 0xaa5c5aca
jmp 0x4354d2
mov eax, dword [esp + 0x88]
cmp eax, 0xa
setge dl
mov ah, byte [esp + 0xf]
mov al, ah
xor al, 1
and ah, al
mov ecx, eax
xor cl, ah
or cl, ah
xor cl, dl
mov ah, al
and ah, dl
xor al, dl
or al, ah
mov edx, eax
xor dl, cl
test dl, 1
mov edx, 0x55e4808
mov ebp, 0xde65064b
cmovne edx, ebp
test al, 1
mov eax, 0x55e4808
jmp 0x4360e4
mov dword [esp], 0xe3879693
jmp 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x28], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x74], eax
mov dword [esp], 0xaae1ef7f
jmp 0x4354d2
mov eax, dword [esp + 0x20]
mov eax, dword [eax]
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
cmp dword [eax + 0x18], 0
mov eax, 0xd47dd9b7
mov ecx, 0x72cfa490
jmp 0x4364c4
mov eax, dword [esp + 4]
mov dword [esp + 0xcc], eax
mov dword [esp], 0xa8799faf
jmp 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x40], eax
mov dword [esp], 0x84832a1c
jmp 0x4354d2
mov al, byte [esp + 0xd]
mov ah, byte [esp + 0xe]
mov edx, eax
xor dl, 1
mov cl, ah
xor cl, 1
mov dh, dl
and dh, al
mov ebx, ecx
and bl, ah
mov ch, dl
xor ch, dh
or ch, dh
xor dl, cl
xor cl, bl
or cl, bl
mov ebx, 0x9f4a9c28
mov dh, ch
xor dh, 1
and dh, cl
xor cl, 1
and cl, ch
or cl, dh
or al, ah
xor al, 1
or al, dl
mov edx, eax
xor dl, cl
test dl, 1
mov edx, 0xf4dacfa5
mov ebp, 0x8167b1d6
cmovne edx, ebp
test al, 1
mov eax, 0xf4dacfa5
cmovne eax, edx
test cl, 1
cmove eax, edx
mov dword [esp], eax
jmp 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x50], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0xd0], eax
mov dword [esp], 0x532d277b
jmp 0x4354d2
mov eax, dword [esp + 0x84]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xea5aebb5
and eax, 0x15a5144a
or eax, edx
xor eax, 0x15a5144b
xor ecx, eax
test ecx, eax
sete byte [esp + 0xd]
mov eax, dword [esp + 0x80]
cmp eax, 0xa
setl byte [esp + 0xe]
mov dword [esp], 0x24ed657e
jmp 0x4354d2
cmp dword [esp + 0x78], 0
setne al
mov ecx, dword [esp + 0x74]
cmp ecx, 0xa
setge cl
setl dl
xor dl, al
mov ah, cl
and ah, al
xor cl, al
or cl, ah
mov eax, edx
xor al, cl
mov eax, 0xde65064b
mov ebp, 0xdcac85bd
cmovne eax, ebp
test cl, cl
mov ecx, 0xdcac85bd
cmovne ecx, eax
test dl, dl
cmovne ecx, eax
mov dword [esp], ecx
jmp 0x4354d2
mov dword [esp], 0xfb11dbc9
jmp 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x48], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0xc0], eax
mov dword [esp], 0x30041d17
jmp 0x4354d2
mov dword [esp], 0xd37bec55
jmp 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x4c], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x4c]
dec eax
mov dword [esp + 0xc8], eax
mov dword [esp], 0x74aee892
jmp 0x4354d2
mov eax, dword [esp + 0x44]
inc eax
imul eax, dword [esp + 0x44]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xfffffffe
and eax, 1
or eax, edx
xor ecx, eax
and ecx, eax
mov dword [esp + 0xbc], ecx
mov dword [esp], 0xed3f152c
jmp 0x4354d2
mov eax, dword [esp + 0xc4]
cmp eax, 0xa
setl dl
mov cl, byte [esp + 0x16]
mov ah, cl
xor ah, 1
mov al, cl
and al, ah
xor al, 1
mov ch, al
xor ch, ah
or al, ah
xor al, 1
or al, ch
xor al, dl
mov ah, cl
xor ah, dl
or cl, dl
xor cl, 1
or cl, ah
mov edx, ecx
xor dl, al
test dl, 1
mov edx, 0x3b2e56d4
mov ebp, 0xcb038b46
cmovne edx, ebp
test cl, 1
mov ecx, 0x3b2e56d4
cmovne ecx, edx
test al, 1
cmove ecx, edx
mov dword [esp], ecx
jmp 0x4354d2
cmp byte [esp + 0x17], 0
mov eax, 0x61ed018d
mov ecx, 0xf2154342
jmp 0x436563
mov eax, dword [esp + 0x34]
inc eax
imul eax, dword [esp + 0x34]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0xb539018
and eax, 0xf4ac6fe7
or eax, edx
xor eax, 0xf4ac6fe6
xor ecx, eax
and ecx, eax
mov dword [esp + 0x94], ecx
mov dword [esp], 0xe67c458a
jmp 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x3c], eax
mov dword [esp], 0x4be41735
jmp 0x4354d2
cmp dword [esp + 0x70], 0
sete byte [esp + 0xa]
mov dword [esp], 0x44768b97
jmp 0x4354d2
mov eax, dword [esp + 4]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x68], eax
mov eax, dword [0x45cae4]
mov ecx, dword [0x45cae8]
mov dword [esp + 0x6c], ecx
lea ecx, [eax + 1]
imul ecx, eax
mov eax, ecx
not eax
and ecx, 0x73db3318
mov edx, eax
and edx, 0x8c24cce7
or edx, ecx
xor edx, 0x8c24cce6
and eax, 0xfffffffe
or eax, edx
not eax
mov dword [esp + 0x70], eax
mov dword [esp], 0x7e469769
jmp 0x4354d2
cmp dword [esp + 0xbc], 0
sete cl
setne al
mov edx, dword [esp + 0xb8]
cmp edx, 0xa
setl dl
setge ah
and dl, al
or al, ah
and cl, ah
or cl, dl
mov edx, eax
xor dl, cl
test cl, cl
mov ecx, 0x25eb7be3
mov ebp, 0x5a1c78dc
cmovne ecx, ebp
test al, al
mov eax, 0x25eb7be3
cmovne ecx, eax
test dl, dl
cmove ecx, ebp
mov dword [esp], ecx
jmp 0x4354d2
mov eax, dword [esp + 0x48]
inc eax
imul eax, dword [esp + 0x48]
mov ecx, eax
not ecx
and eax, 0xfd40712b
mov edx, ecx
and edx, 0x2bf8ed4
or edx, eax
xor edx, 0x2bf8ed5
and ecx, 0xfffffffe
or ecx, edx
cmp ecx, 0xffffffff
sete byte [esp + 0x14]
mov eax, dword [esp + 0xc0]
cmp eax, 0xa
setl byte [esp + 0x15]
mov dword [esp], 0x712f3f19
jmp 0x4354d2
mov eax, dword [esp + 4]
mov dword [esp + 0xe4], eax
mov dword [esp], 0x473caa7
jmp 0x4354d2
mov eax, dword [esp + 0xdc]
mov ecx, eax
not ecx
mov edx, ecx
and edx, 0x3a5006cb
and eax, 0xc5aff934
or eax, edx
xor eax, 0xc5aff935
xor ecx, eax
test ecx, eax
sete al
setne cl
mov edx, dword [esp + 0xd4]
cmp edx, 0xa
setge dl
setl ah
and ah, cl
and al, dl
or al, ah
mov ah, cl
and ah, dl
xor cl, dl
or cl, ah
mov edx, ecx
xor dl, al
test cl, cl
mov ecx, 0x6bd5b0d5
mov ebp, 0x61ed018d
cmovne ecx, ebp
test al, al
cmove ecx, ebp
test dl, dl
mov eax, 0x6bd5b0d5
cmove ecx, eax
mov dword [esp], ecx
jmp 0x4354d2
mov eax, dword [esp + 0x60]
cmp eax, 0xa
setge dl
setl ch
mov al, byte [esp + 9]
mov ah, al
xor ah, 1
mov cl, ch
inc cl
and cl, al
or al, ch
and ch, ah
or cl, ch
xor ah, dl
xor al, 1
or al, ah
mov edx, eax
xor dl, cl
test al, 1
mov eax, 0xea4d6e47
cmovne eax, esi
test cl, 1
cmove eax, esi
test dl, 1
mov ecx, 0xea4d6e47
cmove eax, ecx
mov dword [esp], eax
jmp 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x30], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x88], eax
mov dword [esp], 0xc6d4049b
jmp 0x4354d2
mov eax, dword [esp + 4]
add eax, 0x18
mov dword [esp + 0xe0], eax
mov dword [esp], 0xf77825eb
jmp 0x4354d2
mov dword [esp], 0x7ca46eb1
jmp 0x4354d2
mov eax, dword [esp + 0x58]
mov eax, dword [eax + 0x10]
mov dword [esp + 0x18], eax
mov dword [esp], 0x9e0177ed
jmp 0x4354d2
mov eax, dword [0x45cae4]
mov dword [esp + 0x24], eax
mov eax, dword [0x45cae8]
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x24]
dec eax
mov dword [esp + 0x64], eax
mov dword [esp], 0xfec37b2b
jmp 0x4354d2
cmp byte [esp + 0xb], 0
mov eax, 0x8167b1d6
mov ecx, 0x736400d6
cmovne eax, ecx
mov dword [esp], eax
jmp 0x4354d2
mov eax, dword [esp + 0x50]
inc eax
imul eax, dword [esp + 0x50]
mov ecx, eax
not ecx
and ecx, 0xfffffffe
xor eax, 1
or eax, ecx
xor eax, 0xffffffff
setne cl
sete al
mov edx, dword [esp + 0xd0]
cmp edx, 0xa
setl dl
setge ah
mov ch, al
xor ch, ah
and ch, al
and dl, cl
and al, ah
or al, dl
mov cl, ch
and cl, al
xor al, ch
or al, cl
mov byte [esp + 0x17], al
mov dword [esp], 0xa3d74f3c
jmp 0x4354d2
mov eax, dword [esp + 0x8c]
cmp eax, 0xa
setge al
mov cl, byte [esp + 0x10]
xor cl, 1
mov edx, ecx
and dl, al
xor cl, al
or dl, cl
xor dl, 1
mov eax, ecx
and al, dl
xor dl, cl
or dl, al
and dl, 1
mov byte [esp + 0x11], dl
mov dword [esp], 0x8fad71ad
jmp 0x4354d2
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0xe4]
mov dword [esp], 0x21feb7d9
jmp 0x4354d2
mov eax, dword [esp + 0x54]
imul eax, dword [esp + 0xd8]
mov dword [esp + 0xdc], eax
mov dword [esp], 0x40bbcac3
jmp 0x4354d2
mov ecx, dword [esp + 0x4c]
imul ecx, dword [esp + 0xc8]
mov eax, ecx
not eax
and ecx, 0xa6969841
mov edx, eax
and edx, 0x596967be
or edx, ecx
xor edx, 0x596967bf
and eax, 0xfffffffe
or eax, edx
xor eax, 0xc4abc48b
cmp eax, 0x3b543b74
sete byte [esp + 0x16]
mov dword [esp], 0xddffc6f
jmp 0x4354d2
cmp dword [esp + 0x94], 0
sete al
mov ecx, dword [esp + 0x90]
cmp ecx, 0xa
setl cl
xor al, cl
mov edx, eax
xor dl, 1
and cl, dl
xor dl, cl
test al, al
mov eax, 0xb38983b1
mov ebp, 0x819df09f
cmovne eax, ebp
test cl, cl
mov ecx, 0xb38983b1
cmove eax, ecx
test dl, dl
cmove eax, ebp
mov dword [esp], eax
jmp 0x4354d2
mov dword [esp], 0xdcac85bd
jmp 0x4354d2
mov eax, dword [0x45cae8]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x40]
dec eax
imul eax, dword [esp + 0x40]
mov dword [esp + 0xb4], eax
mov dword [esp], 0xb365a02b
jmp 0x4354d2
cmp eax, 0x3b2e56d4
jne 0x4354d2
mov eax, dword [esp + 0xe8]
add esp, 0xec
pop esi
pop edi
pop ebx
pop ebp
ret