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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xc8
mov eax, dword [0x44e834]
mov ecx, dword [ebp + 0x24]
mov edx, dword [ebp + 0x20]
mov esi, 0x36e5e113
xor eax, ebp
test ecx, ecx
mov dword [esp + 0xc0], eax
mov eax, 0xc0e14b7f
cmove esi, eax
lea eax, [edx + ecx]
mov dword [esp + 0x24], eax
mov eax, 0xacb0bc00
mov dword [esp + 0x28], esi
mov dword [esp + 0x10], ecx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
movsd xmm0, qword [esp + 0x88]
lea eax, [ebp + 0x10]
mov dword [esp + 4], 0
movsd qword [eax], xmm0
mov eax, 0x3dd46747
nop dword [eax]
cmp eax, 0x29bea305
jle 0x412650
cmp eax, 0x46a571db
jg 0x4127b0
cmp eax, 0x3a081ccd
jg 0x412b86
cmp eax, 0x36e5e112
jg 0x412c82
cmp eax, 0x29bea306
je 0x412f02
cmp eax, 0x2a6d05e3
jne 0x412600
mov eax, 0x2819f144
cmp eax, 0x29bea305
jg 0x412607
nop word cs:[eax + eax]
cmp eax, 0xd9428c64
jg 0x412800
cmp eax, 0xacb0bbff
jle 0x412bcb
cmp eax, 0xc77e39c6
jg 0x412e2f
cmp eax, 0xacb0bc00
je 0x413234
cmp eax, 0xc0e14b7f
jne 0x412600
movzx eax, byte [esp + 0x10]
and eax, 1
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x14]
mov eax, ecx
mov ebx, ecx
not eax
and ebx, 0x99396d6c
mov edx, eax
and eax, 0x66c69293
and edx, ecx
or eax, ebx
mov esi, edx
and edx, 0x66c69293
not esi
or ecx, esi
and esi, 0x99396d6c
or edx, esi
not ecx
xor edx, eax
or ecx, edx
mov eax, ecx
mov esi, ecx
and ecx, 0xa7362a05
not eax
xor esi, 0xbd5d3501
and esi, eax
mov edi, eax
mov edx, esi
and esi, 0x17e3d95a
or edi, 0xbd5d3501
not edx
mov ebx, edx
or edx, edi
and ebx, 0xe81c26a5
not edx
or esi, ebx
mov ebx, edi
and edi, 0xe81c26a5
not ebx
and ebx, 0x2a2c85a
or ebx, edi
xor ebx, esi
or edx, ebx
mov esi, edx
and edx, 0x856780fc
not esi
and esi, 0x7a987f03
or edx, esi
mov esi, eax
and eax, 0xe00
and esi, 0x58c9d5fa
xor edx, 0x383abbfd
or esi, ecx
xor esi, 0xa7362405
or eax, esi
mov ecx, eax
and eax, 0x83cd2c9a
not ecx
and ecx, 0x7c32d365
or eax, ecx
mov ecx, edx
xor eax, 0x83cd2c9a
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
mov esi, eax
not ecx
and esi, 0xd8ece819
mov edx, ecx
and ecx, 0x271317e6
and edx, eax
or ecx, esi
mov esi, edx
and edx, 0x271317e6
not esi
or eax, esi
and esi, 0xd8ece819
or edx, esi
not eax
xor edx, ecx
mov ecx, 0x3ac0cdf5
or eax, edx
cmp eax, 0x800
jmp 0x4135f9
cmp eax, 0x510bef54
jle 0x412c09
cmp eax, 0x7304877e
jg 0x412e5d
cmp eax, 0x510bef55
je 0x413250
cmp eax, 0x65dff108
jne 0x412600
mov ecx, dword [esp + 0x5c]
mov eax, 0x3e94c723
mov dword [esp + 0x14], ecx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
cmp eax, 0xee94e3f5
jle 0x412c3e
cmp eax, 0xdca6685
jg 0x412e9a
cmp eax, 0xee94e3f6
je 0x41325e
cmp eax, 0xfe3916d0
jne 0x412600
mov eax, dword [0x44f510]
lea edx, [eax - 1]
imul edx, eax
mov eax, edx
and edx, 0xf8363d39
not eax
and eax, 0x7c9c2c6
or edx, eax
mov ecx, edx
xor edx, 0x7c10244
xor ecx, 0xf8363d39
and edx, 0x9fc10a5d
mov esi, ecx
and ecx, 0xca335869
and esi, 0x603ef5a2
or esi, edx
mov eax, esi
xor esi, 0x1810a55
xor eax, 0x603ef5a2
and esi, 0x6181ba75
mov edx, eax
and edx, 0x35cca796
or ecx, edx
mov edx, ecx
and ecx, 0x35cca797
not edx
and edx, 0xca335868
or ecx, edx
mov edx, eax
and eax, 1
and edx, 0x9e7e458a
or edx, esi
xor edx, 0x6181ba74
or eax, edx
mov edx, ecx
not eax
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
not ecx
mov edx, ecx
and ecx, eax
and eax, 0xb18f1062
and edx, 0x4e70ef9d
mov edi, ecx
and ecx, 0x9504cf55
or eax, edx
not edi
mov edx, eax
xor eax, 0x4e70ef9d
mov esi, eax
xor edx, 0x91040040
or eax, edi
and edi, 0x6afb30aa
and esi, 0x6afb30aa
and edx, 0x9504cf55
or ecx, edi
not eax
or edx, esi
xor ecx, edx
or eax, ecx
mov ecx, eax
and eax, 0xb4051c48
not ecx
and ecx, 0x4bfae3b7
or eax, ecx
mov ecx, dword [esp + 0xc]
xor eax, 0xb4051c48
cmp eax, 0xffffffff
mov eax, dword [0x44f514]
sete byte [esp + 0x7c]
mov dword [esp + 0x68], ecx
cmp eax, 0xa
mov eax, 0x10564942
setl byte [esp + 0x80]
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp eax, 0x33fc5574
jg 0x4129d0
cmp eax, 0xcd29ac8f
je 0x413278
cmp eax, 0x10564942
jne 0x412950
movzx eax, byte [esp + 0x7c]
movzx ecx, byte [esp + 0x80]
mov esi, 0x33fc5575
mov edx, eax
or al, cl
xor dl, cl
xor al, 1
or al, dl
mov ah, dl
mov ecx, eax
xor ah, 1
and dl, al
xor cl, 1
and cl, ah
or cl, dl
mov edx, eax
and dl, ah
xor ah, al
or ah, dl
mov dl, ah
xor dl, cl
test ah, 1
mov eax, 0x3b9d619a
cmovne eax, esi
test cl, 1
not dl
mov ecx, 0x3b9d619a
cmove eax, esi
test dl, 1
cmovne eax, ecx
cmp eax, 0x33fc5574
jle 0x412957
nop word cs:[eax + eax]
cmp eax, 0x33fc5575
je 0x412b5c
cmp eax, 0x3b9d619a
jne 0x412950
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0x8c], ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x44f510]
mov edi, 0xcd29ac8f
lea edx, [eax - 1]
imul edx, eax
mov ecx, edx
xor ecx, 0xd975822f
and ecx, edx
not edx
and edx, 0xd975822f
mov eax, edx
and eax, ecx
xor ecx, edx
or ecx, eax
mov eax, ecx
and ecx, 0xd975822f
not eax
and eax, 0x268a7dd0
or ecx, eax
mov edx, ecx
and ecx, 0xe554ced
not edx
mov eax, edx
and edx, 0xf1aab312
or eax, 1
or ecx, edx
mov esi, eax
mov edx, eax
not esi
and edx, 0xd164b533
and esi, 0x2e9b4acc
or esi, edx
mov edx, ecx
xor ecx, 0xf1aab313
xor edx, 0xe1148cc
or eax, ecx
and ecx, 0xd164b533
and edx, 0x2e9b4acc
not eax
or edx, ecx
xor edx, esi
mov esi, 0x33fc5575
or eax, edx
mov ecx, eax
not ecx
mov edx, ecx
and ecx, eax
and eax, 0xcd6fd50f
and edx, 0x32902af0
or eax, edx
xor eax, 0xcd6fd50f
mov edx, eax
xor eax, ecx
and edx, ecx
or eax, edx
mov ecx, eax
and eax, 0x8ee5fca1
not ecx
and ecx, 0x711a035e
or eax, ecx
mov ecx, eax
xor eax, 0x70080300
xor ecx, 0x88201020
and eax, 0x76cdef81
and ecx, 0x8932107e
or ecx, eax
mov eax, dword [0x44f514]
xor ecx, 0x76cdef81
cmp ecx, 0xffffffff
sete cl
setne dl
cmp eax, 0xa
setl ch
cmp eax, 9
mov ah, dl
setg al
or dl, ch
and ch, cl
and ah, al
or ch, ah
xor ch, 1
or ch, al
or al, cl
mov cl, dl
xor cl, al
or al, dl
xor al, 1
or al, cl
mov cl, al
xor cl, 1
mov edx, ecx
mov ah, cl
and dl, al
and ah, dl
xor dl, cl
xor cl, ch
xor ch, 1
or dl, ah
or al, ch
xor al, 1
xor dl, ch
or al, cl
mov dh, dl
xor dh, al
not dh
test dh, 1
cmovne edi, esi
test al, 1
mov eax, 0xcd29ac8f
cmovne eax, edi
test dl, 1
cmovne eax, edi
cmp eax, 0x33fc5574
jle 0x412957
jmp 0x4129d0
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0x8c], ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 0x3b9d619a
cmp eax, 0x33fc5574
jle 0x412957
jmp 0x4129d0
cmp eax, 0x3dd46746
jg 0x412ee7
cmp eax, 0x3a081cce
je 0x4132aa
cmp eax, 0x3ac0cdf5
jne 0x412600
mov eax, dword [esp + 0x30]
mov ecx, 0xfe3916d0
add eax, 2
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
cmp eax, dword [ebp + 0x24]
mov eax, 0xee94e3f6
cmova eax, ecx
jmp 0x413601
cmp eax, 0x8480d4bc
je 0x4132cd
cmp eax, 0x87b6bab1
je 0x41350e
cmp eax, 0x9e42554c
jne 0x412600
mov eax, 0x37e49eeb
mov dword [esp + 0x20], 0
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
cmp eax, 0x46a571dc
je 0x413534
cmp eax, 0x4ae2341e
je 0x41358f
cmp eax, 0x5000e9b1
jne 0x412600
cmp dword [esp + 0x4c], 0
mov eax, 0x2819f144
mov ecx, 0xdca6686
jmp 0x413983
cmp eax, 0xd9428c65
je 0x4135bc
cmp eax, 0xda052d12
je 0x4135ed
cmp eax, 0xe32b23e5
jne 0x412600
mov eax, dword [esp + 0x2c]
cmp eax, 0x2d
sete al
mov dword [esp + 0x10], eax
mov eax, 0xc0e14b7f
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
cmp eax, 0x36e5e113
je 0x4148b0
cmp eax, 0x37e49eeb
jne 0x412600
mov eax, dword [esp + 0x20]
mov dword [esp + 0x74], eax
mov eax, dword [ebp + 0x18]
mov ecx, dword [eax + 0x14]
mov eax, ecx
not eax
mov edx, eax
and eax, ecx
and ecx, 0x8a34f483
and edx, 0x75cb0b7c
mov esi, eax
and eax, 0x739392
or ecx, edx
not esi
mov edx, ecx
xor ecx, 0x75cb0b7c
mov edi, ecx
xor edx, 0x309082
or ecx, esi
and esi, 0xff8c6c6d
and edi, 0xff8c6c6d
and edx, 0x739392
or eax, esi
not ecx
or edx, edi
xor eax, edx
or ecx, eax
mov esi, ecx
mov edx, ecx
xor esi, 0x146ca27e
not edx
mov edi, esi
and esi, ecx
and ecx, 0xe014bde
and edi, edx
mov eax, edi
and edi, 0x176d692f
not eax
mov ebx, eax
and ebx, 0xe89296d0
or edi, ebx
mov ebx, esi
and esi, 0x176d692f
not ebx
or eax, ebx
and ebx, 0xe89296d0
or esi, ebx
not eax
xor esi, edi
or eax, esi
mov esi, eax
and eax, 0xef85a9da
not esi
and esi, 0x107a5625
or eax, esi
mov esi, edx
and edx, 0x1c0
and esi, 0xf1feb421
or esi, ecx
mov ecx, eax
xor eax, 0x416f59b
xor esi, 0xe014a1e
xor ecx, 0x2b810a04
mov ebx, eax
or edx, esi
and ebx, 0xd4689078
and ecx, 0x2b976f87
mov esi, edx
and edx, 0x85f989e5
or ecx, ebx
not esi
and esi, 0x7a06761a
or edx, esi
mov edi, edx
xor edx, 0x7a06761a
xor edi, 0x1910985
or eax, edx
and edx, 0xd4689078
and edi, 0x2b976f87
not eax
or edi, edx
xor edi, ecx
or eax, edi
mov ecx, eax
xor ecx, 0xc30ceb1f
and ecx, eax
not eax
and eax, 0xc30ceb1f
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov edx, 0x8480d4bc
mov eax, ecx
and ecx, 0xdb275e9a
not eax
and eax, 0x24d8a165
or ecx, eax
xor ecx, 0x182bb585
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
cmp eax, 0x40
setne al
cmp ecx, 0x100
setne cl
xor cl, al
xor al, cl
xor cl, al
test al, al
mov eax, 0xcbbced0d
cmovne eax, edx
test cl, cl
mov edx, 0xcbbced0d
cmove eax, edx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
cmp eax, 0xc77e39c7
je 0x413619
cmp eax, 0xcbbced0d
jne 0x412600
mov eax, dword [esp + 0x64]
mov ecx, 0xc77e39c7
cmp eax, 0x100
mov eax, 0x29bea306
jmp 0x414891
cmp eax, 0x7304877f
je 0x413974
cmp eax, 0x7a0b35f2
jne 0x412600
mov eax, dword [esp + 0x60]
mov ecx, dword [ebp + 0x18]
cmp eax, dword [ecx + 0x20]
mov eax, 0x9e42554c
mov ecx, 0x3a081cce
cmovb eax, ecx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
cmp eax, 0xdca6686
je 0x413996
cmp eax, 0x2819f144
jne 0x412600
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x60], eax
mov eax, dword [ebp + 0x18]
mov ecx, eax
mov eax, dword [eax + 0x24]
cmp dword [ecx + 0x20], 1
mov ecx, 0x9e42554c
sbb eax, 0
mov eax, 0x7a0b35f2
cmovl eax, ecx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
cmp eax, 0x3e94c723
je 0x4139c7
cmp eax, 0x3dd46747
jne 0x412600
jmp 0x4148d5
lea eax, [esp + 0xa8]
mov ecx, 0xa3eced73
mov edx, 0xd7565d3
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
cmp dword [esp + 0xbc], 0xf
mov dword [esp + 0x88], eax
mov eax, 0x83b3a62
cmova ecx, eax
nop dword [eax + eax]
cmp edx, 0xa3eced73
je 0x412f81
cmp edx, 0x83b3a62
je 0x412f6b
cmp edx, 0xd7565d3
jne 0x412f40
mov eax, dword [esp + 0x88]
mov edx, ecx
cmp edx, 0xa3eced73
jne 0x412f48
jmp 0x412f81
mov eax, dword [esp + 0x80]
mov edx, 0xa3eced73
mov eax, dword [eax]
cmp edx, 0xa3eced73
jne 0x412f48
lea ecx, [ebp + 0x10]
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], edx
mov edx, 0xe8fad086
cmp edx, 0xe1d50b6e
je 0x4139ec
cmp edx, 0x3f9bb3ff
je 0x412ff0
cmp edx, 0xe8fad086
jne 0x412fa0
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov edx, 0x3f9bb3ff
mov esi, 0xe1d50b6e
cmp dword [esp + 0x7c], 0
cmove edx, esi
cmp edx, 0xe1d50b6e
jne 0x412fac
jmp 0x4139ec
mov eax, dword [esp + 0x80]
mov edx, dword [0x44f588]
lea ecx, [edx - 1]
mov al, byte [eax]
imul ecx, edx
mov edx, ecx
mov edi, ecx
mov ebx, ecx
and ecx, 0xc0c4965a
not edx
and edi, 0x59150320
and ebx, 0xa42afc5f
mov esi, edx
and edx, 0x3f3b69a5
mov byte [esp + 4], al
and esi, 0x2c00080
or ecx, edx
or edi, esi
xor ecx, 0xc0c4965a
xor edi, 0x59150320
or ebx, edi
mov edi, ebx
and ebx, 0x5bd503a1
not edi
and edi, 0xa42afc5e
or ebx, edi
not ebx
mov edx, ebx
and edx, ecx
xor ecx, ebx
or ecx, edx
mov edx, dword [0x44f58c]
cmp ecx, 0xffffffff
setne cl
sete ah
sete byte [esp + 0x84]
mov ch, cl
cmp edx, 0xa
setl dl
setl byte [esp + 0x78]
xor cl, dl
or ch, dl
not cl
mov dh, ch
and cl, dl
xor cl, 1
xor dh, cl
or cl, ch
mov ch, dl
and dl, ah
xor cl, 1
xor ch, ah
or cl, dh
mov dh, ch
or dl, ch
xor dh, 1
xor ch, dl
xor cl, 1
or dl, dh
xor ch, 1
xor dl, 1
or dl, ch
mov ah, dl
xor ah, 1
and dl, ah
mov ch, ah
and ch, dl
xor dl, ah
or dl, ch
mov ah, dl
mov dh, dl
xor ah, 1
and dh, ah
mov ch, dh
xor dh, dl
and ch, dl
mov dl, cl
or dh, ch
and dl, ah
xor dh, cl
xor cl, ah
mov eax, 0xd749cb82
or cl, dl
mov dl, dh
xor dl, cl
test cl, 1
mov ecx, 0x26614e81
cmovne ecx, eax
test dh, 1
not dl
cmovne ecx, eax
test dl, 1
mov edx, 0x26614e81
cmove ecx, edx
mov edx, 0x5439a140
nop dword [eax + eax]
cmp edx, 0x26614e80
jg 0x413140
cmp edx, 0xd749cb82
je 0x4131eb
cmp edx, 0x7c954b4
jne 0x413110
mov edx, ecx
cmp edx, 0x26614e80
jle 0x413118
nop word cs:[eax + eax]
cmp edx, 0x26614e81
je 0x413210
cmp edx, 0x5439a140
jne 0x413110
mov dh, byte [esp + 0x84]
mov ah, byte [esp + 0x78]
mov esi, 0xd749cb82
mov bl, ah
mov bh, dh
mov dl, dh
xor bl, 1
xor bh, 1
and dl, ah
and bl, bh
or dl, bl
xor dl, 1
or dl, bh
xor bh, ah
xor bh, 1
mov bl, dl
and bh, ah
xor ah, dh
xor bl, 1
and ah, dh
mov dh, bh
and dh, ah
xor ah, bh
or ah, dh
mov dh, ah
mov al, ah
xor dh, 1
mov bh, dh
and bh, ah
xor bh, 1
xor al, bh
or bh, ah
xor bh, 1
or bh, al
mov eax, edx
and bl, bh
xor bh, 1
and al, dh
xor dh, dl
and bh, dl
or dh, al
or bh, bl
mov al, dh
xor al, bh
test dh, 1
mov edx, 0x7c954b4
cmovne edx, esi
test bh, 1
cmove edx, esi
test al, 1
mov esi, 0x7c954b4
cmove edx, esi
cmp edx, 0x26614e80
jle 0x413118
jmp 0x413140
mov edx, 0x7c954b4
cmp edx, 0x26614e80
jle 0x413118
jmp 0x413140
movsx eax, byte [esp + 4]
lea ecx, [esp + 0x88]
push eax
call fcn.004175f0
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
dec ecx
inc eax
jmp 0x412f9b
mov eax, dword [esp + 0x28]
mov dword [esp + 0x10], 0
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
mov ecx, dword [esp + 0x34]
mov eax, 0xfe3916d0
jmp 0x413605
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 0x20]
cmp byte [ecx + eax], 0x30
mov eax, 0xfe3916d0
mov ecx, 0x87b6bab1
jmp 0x4135fe
lea eax, [esp + 0x88]
push eax
call fcn.00414f40
add esp, 4
mov esi, eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x7c], eax
mov eax, 0x63e45b60
cmp eax, 0x418db840
jg 0x413a70
jmp 0x413a37
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x20]
sub eax, dword [esp + 0x60]
mov dword [esp + 0x20], eax
mov eax, 0x37e49eeb
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
lea eax, [ebp + 0x10]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x74]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], ecx
mov ecx, 0x24d175b0
nop dword [eax]
cmp ecx, 0x74b2ca60
je 0x413330
cmp ecx, 0x2f68d6ab
je 0x413aa3
cmp ecx, 0x24d175b0
jne 0x4132f0
mov dword [esp + 0x80], eax
mov ecx, 0x74b2ca60
mov edx, 0x2f68d6ab
cmp dword [esp + 0x80], 0
cmove ecx, edx
cmp ecx, 0x74b2ca60
jne 0x4132f8
mov eax, dword [0x44f588]
mov edi, 0xd749cb82
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
xor edx, 0xfffffffe
and eax, 0x74bb953c
and edx, ecx
not ecx
mov esi, ecx
and esi, 0x8b446ac2
or eax, esi
xor eax, 0x74bb953c
mov esi, eax
and esi, edx
xor edx, eax
or edx, esi
mov esi, 0x26614e81
not edx
mov eax, edx
xor edx, ecx
and eax, ecx
or edx, eax
mov eax, edx
and edx, 0x808ecfe8
not eax
and eax, 0x7f713017
or edx, eax
mov eax, dword [0x44f58c]
xor edx, 0x808ecfe8
sete cl
setne dl
sete byte [esp + 0x78]
cmp eax, 9
setg ch
cmp eax, 0xa
setl al
setl byte [esp + 0x7c]
mov ah, al
and al, dl
or ah, cl
and cl, ch
xor ch, dl
xor ah, 1
or al, cl
or ah, ch
mov ecx, eax
and al, ah
xor ah, 1
xor cl, 1
mov dl, ah
xor dl, cl
and cl, ah
and dl, ah
or cl, al
mov eax, 0xd749cb82
mov ch, dl
xor ch, cl
test cl, cl
cmovne eax, esi
test dl, dl
cmove eax, edi
test ch, 1
mov ecx, 0x5439a140
cmovne eax, esi
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, 0x26614e80
jg 0x413430
cmp ecx, 0xd749cb82
je 0x4134cf
cmp ecx, 0x7c954b4
jne 0x413400
mov ecx, eax
cmp ecx, 0x26614e80
jle 0x413408
nop word cs:[eax + eax]
cmp ecx, 0x26614e81
je 0x4134f0
cmp ecx, 0x5439a140
jne 0x413400
mov ch, byte [esp + 0x78]
mov dh, byte [esp + 0x7c]
mov esi, 0xd749cb82
mov edi, 0x7c954b4
mov bl, ch
mov cl, dh
xor bl, 1
xor cl, 1
mov bh, bl
and cl, dh
and ch, bl
xor bh, dh
xor cl, 1
mov dl, bh
xor dl, bl
and dl, bh
mov bh, bl
and bh, ch
xor ch, bl
mov bl, dh
xor bl, cl
or cl, dh
or ch, bh
xor cl, 1
mov dh, ch
or cl, bl
xor dh, 1
and dh, cl
xor cl, 1
and cl, ch
mov ch, dl
or cl, dh
xor ch, 1
mov dh, dl
and ch, cl
xor cl, 1
xor dh, cl
and cl, dl
and dh, dl
or cl, ch
mov dl, dh
xor dl, cl
test dl, 1
cmovne esi, edi
test cl, 1
mov ecx, esi
cmovne ecx, edi
test dh, 1
cmove ecx, esi
cmp ecx, 0x26614e80
jle 0x413408
jmp 0x413430
mov ecx, 0x7c954b4
cmp ecx, 0x26614e80
jle 0x413408
jmp 0x413430
movsx eax, byte [ebp + 0x1c]
lea ecx, [esp + 0x88]
push eax
call fcn.004175f0
mov eax, dword [esp + 0x80]
dec eax
jmp 0x4132e7
mov eax, dword [esp + 0x30]
mov ecx, dword [ebp + 0x20]
movsx eax, byte [eax + ecx + 1]
mov ecx, 0x510bef55
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
cmp eax, 0x78
mov eax, 0xda052d12
jmp 0x414891
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x6c]
sub ecx, eax
mov dword [esp + 0x58], ecx
lea ecx, [esp + 0xa8]
movsx eax, byte [esp + 0x53]
push eax
push 1
push dword [esp + 0x60]
call fcn.004157c0
mov eax, dword [esp + 0x70]
mov ecx, 0x65dff108
inc eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
cmp byte [eax], 0
mov edx, dword [esp + 0x70]
mov eax, 0x3e94c723
cmovg eax, ecx
mov dword [esp + 0x14], edx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edx, 0x46a571dc
sub ecx, eax
mov eax, dword [esp + 0x54]
cmp eax, ecx
mov eax, 0x2a6d05e3
cmovb eax, edx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
mov eax, dword [esp + 0x1c]
mov ecx, 0x2a6d05e3
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
movsx eax, byte [eax]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x54]
cmp eax, 0x7f
mov eax, 0x7304877f
jmp 0x414891
mov eax, dword [esp + 0x38]
mov ecx, 0x510bef55
cmp eax, 0x58
mov eax, 0xfe3916d0
cmove eax, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
lea eax, [esp + 0xa8]
mov ecx, 0xa3eced73
mov edx, 0xd7565d3
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
cmp dword [esp + 0xbc], 0xf
mov dword [esp + 0x88], eax
mov eax, 0x83b3a62
cmova ecx, eax
nop
cmp edx, 0xa3eced73
je 0x413691
cmp edx, 0x83b3a62
je 0x41367b
cmp edx, 0xd7565d3
jne 0x413650
mov eax, dword [esp + 0x88]
mov edx, ecx
cmp edx, 0xa3eced73
jne 0x413658
jmp 0x413691
mov eax, dword [esp + 0x80]
mov edx, 0xa3eced73
mov eax, dword [eax]
cmp edx, 0xa3eced73
jne 0x413658
lea ecx, [ebp + 0x10]
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
mov ecx, dword [esp + 0x68]
mov dword [esp + 0x8c], esi
mov dword [esp + 0x88], edx
mov edx, 0xe8fad086
cmp edx, 0xe1d50b6e
je 0x413ed4
cmp edx, 0x3f9bb3ff
je 0x413700
cmp edx, 0xe8fad086
jne 0x4136b0
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov edx, 0x3f9bb3ff
mov esi, 0xe1d50b6e
cmp dword [esp + 0x7c], 0
cmove edx, esi
cmp edx, 0xe1d50b6e
jne 0x4136bc
jmp 0x413ed4
mov ecx, dword [esp + 0x80]
mov eax, dword [0x44f588]
lea edx, [eax - 1]
mov cl, byte [ecx]
imul edx, eax
mov esi, edx
mov eax, edx
and edx, 0xc66e25d
not esi
and eax, 1
mov edi, esi
and esi, 0xf3991da2
mov byte [esp + 0xb], cl
and edi, 0xfffffffe
or edx, esi
or eax, edi
mov edi, eax
and eax, 0xb5e3a8eb
not edi
and edi, 0x4a1c5714
or eax, edi
mov edi, eax
xor eax, 0x4a1c5714
xor edi, 0x2121a0e1
mov esi, eax
and esi, 0xdcce0c0e
and edi, 0x2331f3f1
or edi, esi
mov esi, edx
xor edx, 0xf3991da2
xor esi, 0x20e251
or eax, edx
and edx, 0xdcce0c0e
and esi, 0x2331f3f1
not eax
or esi, edx
xor esi, edi
or eax, esi
mov esi, 0xd749cb82
mov ecx, eax
and eax, 0x2fc7e800
not ecx
and ecx, 0xd03817ff
or eax, ecx
mov ecx, dword [0x44f58c]
xor eax, 0x2fc7e800
sete al
sete byte [esp + 0x84]
cmp ecx, 0xa
setl cl
setl byte [esp + 0x78]
xor al, cl
mov edx, eax
xor dl, 1
xor cl, dl
not cl
and cl, dl
mov ah, cl
and cl, dl
xor ah, 1
and al, ah
or ah, dl
mov edx, 0x26614e81
or cl, al
mov al, ah
xor al, cl
test al, 1
cmovne edx, esi
test cl, cl
mov ecx, 0x26614e81
mov esi, edx
cmovne esi, ecx
test ah, ah
mov eax, 0x5439a140
cmovne esi, edx
nop dword [eax]
cmp eax, 0x26614e80
jg 0x413830
cmp eax, 0xd749cb82
je 0x413932
cmp eax, 0x7c954b4
jne 0x413800
mov eax, esi
cmp eax, 0x26614e80
jle 0x413807
nop word cs:[eax + eax]
nop dword [eax]
cmp eax, 0x26614e81
je 0x413950
cmp eax, 0x5439a140
jne 0x413800
movzx eax, byte [esp + 0x84]
mov edi, 0x7c954b4
mov byte [esp + 4], al
xor al, 1
mov bh, byte [esp + 0x78]
mov edx, eax
mov ch, al
mov bl, bh
xor bl, 1
mov dh, bl
mov cl, bl
and dh, bh
and cl, dh
xor dh, bl
xor bl, bh
or dh, cl
and bl, bh
mov ah, dh
mov cl, dh
and dh, byte [esp + 4]
xor ah, 1
xor dl, ah
or cl, ah
and ah, al
and dl, al
or al, byte [esp + 4]
or ah, dh
xor dl, 1
xor ah, 1
xor al, 1
xor ch, al
and al, ch
xor al, 1
mov bh, al
or al, ch
xor bh, ch
xor al, 1
mov ch, cl
or al, bh
mov bh, cl
xor ch, 1
and bh, bl
xor bl, 1
and ch, bl
or ch, bh
mov bh, cl
and bh, bl
xor bl, cl
xor ch, 1
or bl, bh
mov cl, ch
or ch, bl
xor cl, bl
mov ebx, 0xd749cb82
xor ch, 1
or ch, cl
mov cl, ch
xor cl, al
and ch, cl
and cl, al
mov al, ch
and al, cl
xor cl, ch
or cl, al
mov al, dl
xor al, ah
or ah, dl
xor ah, 1
or ah, al
mov al, ah
xor al, 1
and ah, al
mov edx, eax
and dl, ah
xor ah, al
or ah, dl
mov edx, ecx
mov al, ah
xor dl, 1
xor al, 1
and ah, dl
or dl, al
and al, cl
or al, ah
mov ecx, edx
xor cl, al
test al, 1
mov eax, 0xd749cb82
cmovne eax, edi
test dl, 1
cmovne eax, ebx
test cl, 1
cmove eax, edi
cmp eax, 0x26614e80
jle 0x413807
jmp 0x413830
mov eax, 0x7c954b4
cmp eax, 0x26614e80
jle 0x413807
jmp 0x413830
movsx eax, byte [esp + 0xb]
lea ecx, [esp + 0x88]
push eax
call fcn.004175f0
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
dec ecx
inc eax
jmp 0x4136ab
cmp dword [esp + 0x54], 0
mov eax, 0x2a6d05e3
mov ecx, 0x4ae2341e
cmovg eax, ecx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
call dword [eax + 0x10]
mov byte [esp + 0x53], al
mov edx, dword [ebp + 0x24]
mov eax, 0xd9428c65
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x18], ecx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x14]
mov eax, 0xd9428c65
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x18], edx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
movsd xmm0, qword [esp + 0x88]
lea eax, [ebp + 0x10]
movsd qword [eax], xmm0
mov eax, 0x3dd46747
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
cmp dword [esp + 0x7c], 0
mov eax, 0xa136a264
mov ecx, 0x418db841
cmove eax, ecx
nop dword [eax + eax]
cmp eax, 0x418db840
jg 0x413a70
cmp eax, 0xa136a264
je 0x413a84
cmp eax, 0xccd6bf4a
jne 0x413a30
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esp + 0x80]
push 1
call eax
mov eax, 0x418db841
cmp eax, 0x418db840
jle 0x413a37
nop word [eax + eax]
cmp eax, 0x418db841
je 0x4141ce
cmp eax, 0x63e45b60
jne 0x413a30
jmp 0x413a19
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x80], eax
mov eax, 0xccd6bf4a
cmp dword [esp + 0x80], 0
jmp 0x413a23
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
lea eax, [ebp + 0x10]
mov esi, 0xa3eced73
mov ebx, 0xd7565d3
mov dword [eax + 4], edx
mov dword [eax], ecx
lea eax, [esp + 0xa8]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
cmp dword [esp + 0xbc], 0xf
mov dword [esp + 0x88], eax
mov eax, 0x83b3a62
cmova esi, eax
nop
cmp ebx, 0xa3eced73
je 0x413b31
cmp ebx, 0x83b3a62
je 0x413b1b
cmp ebx, 0xd7565d3
jne 0x413af0
mov eax, dword [esp + 0x88]
mov ebx, esi
cmp ebx, 0xa3eced73
jne 0x413af8
jmp 0x413b31
mov eax, dword [esp + 0x80]
mov ebx, 0xa3eced73
mov eax, dword [eax]
cmp ebx, 0xa3eced73
jne 0x413af8
mov esi, dword [esp + 0x68]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], ecx
mov ecx, 0xe8fad086
nop dword [eax + eax]
cmp ecx, 0xe1d50b6e
je 0x4125df
cmp ecx, 0x3f9bb3ff
je 0x413ba0
cmp ecx, 0xe8fad086
jne 0x413b50
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], eax
mov ecx, 0x3f9bb3ff
mov edx, 0xe1d50b6e
cmp dword [esp + 0x7c], 0
cmove ecx, edx
cmp ecx, 0xe1d50b6e
jne 0x413b5c
jmp 0x4125df
mov eax, dword [esp + 0x80]
mov edx, dword [0x44f588]
lea ecx, [edx - 1]
mov dword [esp + 4], eax
imul ecx, edx
mov esi, ecx
mov edx, ecx
xor esi, 0xa420a2b2
not edx
and esi, ecx
or ecx, 0x5bdf5d4d
and edx, 0xa00080a0
mov edi, ecx
and edi, 0x476e621f
or edx, edi
mov edi, esi
and esi, 0xb8919de0
not edi
or ecx, edi
and edi, 0x476e621f
or esi, edi
not ecx
xor esi, edx
or ecx, esi
mov edx, ecx
and ecx, 0xa420a2b2
not edx
and edx, 0x5bdf5d4d
or ecx, edx
mov edi, ecx
mov esi, ecx
xor edi, 0xb4b2c662
and esi, 0x58760619
and edi, ecx
not ecx
and ecx, 0xa789f9e6
or esi, ecx
mov ecx, esi
mov ebx, esi
xor esi, 0x80091980
xor ecx, 0x58760619
xor ebx, 0x133b3f84
and esi, 0x800b1991
and ebx, ecx
mov edx, ebx
and ebx, 0xb8d33e0e
not edx
mov eax, edx
and eax, 0x472cc1f1
or ebx, eax
mov eax, edi
and edi, 0xb8d33e0e
not eax
or edx, eax
and eax, 0x472cc1f1
or edi, eax
not edx
xor edi, ebx
or edx, edi
mov eax, edx
and edx, 0xb4b2c663
not eax
and eax, 0x4b4d399c
or edx, eax
mov eax, ecx
and ecx, 1
and eax, 0x7ff4e66e
or eax, esi
mov esi, edx
and edx, 0xb36b9ebf
xor eax, 0x800b1990
not esi
or ecx, eax
mov eax, esi
mov edi, ecx
or esi, ecx
and eax, 0x4c946140
and ecx, 0x4c946140
not edi
or edx, eax
not esi
mov eax, dword [esp + 4]
and edi, 0xb36b9ebf
or edi, ecx
xor edi, edx
mov edx, dword [0x44f58c]
or esi, edi
mov al, byte [eax]
mov ecx, esi
and esi, 0x24fabc1
not ecx
and ecx, 0xfdb0543e
or esi, ecx
mov byte [esp + 4], al
mov ecx, esi
and esi, 0xcf813c4
not ecx
and ecx, 0xf307ec3b
or esi, ecx
mov ecx, esi
xor esi, 0xa378000
xor ecx, 0x30080188
and esi, 0xcb77c672
and ecx, 0x3488398d
or esi, ecx
mov ecx, esi
xor esi, 0x4a338400
xor ecx, 0x4000088
and esi, 0x7abbbd05
and ecx, 0x854442fa
or ecx, esi
mov esi, 0x26614e81
xor ecx, 0x854442fa
sete cl
setne ah
sete byte [esp + 0x84]
cmp edx, 9
setg ch
cmp edx, 0xa
setl dh
setl byte [esp + 0x78]
and ah, ch
mov dl, dh
and dl, cl
or dl, ah
xor dl, 1
or dl, ch
xor ch, cl
not ch
and ch, cl
xor cl, dh
and cl, dh
mov ah, ch
and ah, cl
xor cl, ch
or cl, ah
mov ah, cl
xor ah, 1
mov dh, ah
mov ch, ah
xor ah, dl
and dh, cl
xor ch, dh
xor dh, 1
or dh, cl
xor dh, 1
or dh, ch
xor dh, dl
xor dl, 1
or cl, dl
xor cl, 1
or cl, ah
mov eax, 0xd749cb82
mov dl, cl
xor dl, dh
test cl, 1
mov ecx, 0x26614e81
cmovne esi, eax
test dh, 1
cmove esi, eax
test dl, 1
mov edx, 0x5439a140
cmove esi, ecx
nop dword [eax]
cmp edx, 0x26614e80
jg 0x413df0
cmp edx, 0xd749cb82
je 0x413e8d
cmp edx, 0x7c954b4
jne 0x413dc0
mov edx, esi
cmp edx, 0x26614e80
jle 0x413dc8
nop word cs:[eax + eax]
cmp edx, 0x26614e81
je 0x413eb0
cmp edx, 0x5439a140
jne 0x413dc0
mov ah, byte [esp + 0x84]
mov dh, byte [esp + 0x78]
mov edi, 0xd749cb82
mov dl, dh
mov bl, ah
xor dl, 1
or bl, dh
and dl, dh
xor bl, 1
mov bh, dl
xor dl, dh
and bh, dh
or dl, bh
xor dl, ah
xor ah, dh
or bl, ah
mov dh, dl
mov ah, bl
mov bh, bl
xor dh, 1
mov ecx, ebx
xor ah, 1
mov al, dh
and bh, ah
and al, dl
or dl, ah
and cl, bh
xor bh, bl
xor dl, 1
or bh, cl
mov cl, dh
and cl, al
xor al, dh
xor dh, bl
or al, cl
or dl, dh
xor al, bh
mov ecx, edx
mov ebx, 0x7c954b4
xor cl, al
test cl, 1
cmovne ebx, edi
test dl, 1
mov edx, 0x7c954b4
cmovne edx, ebx
test al, 1
cmove edx, ebx
cmp edx, 0x26614e80
jle 0x413dc8
jmp 0x413df0
mov edx, 0x7c954b4
cmp edx, 0x26614e80
jle 0x413dc8
jmp 0x413df0
movsx eax, byte [esp + 4]
lea ecx, [esp + 0x88]
push eax
call fcn.004175f0
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x80]
dec esi
inc eax
jmp 0x413b43
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
lea eax, [ebp + 0x10]
mov dword [eax + 4], edx
mov dword [eax], ecx
mov eax, dword [esp + 0x74]
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], ecx
mov ecx, 0x24d175b0
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, 0x74b2ca60
je 0x413f50
cmp ecx, 0x2f68d6ab
je 0x4125df
cmp ecx, 0x24d175b0
jne 0x413f10
mov dword [esp + 0x80], eax
mov ecx, 0x74b2ca60
mov edx, 0x2f68d6ab
cmp dword [esp + 0x80], 0
cmove ecx, edx
cmp ecx, 0x74b2ca60
jne 0x413f18
mov ecx, dword [0x44f588]
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and ecx, eax
and eax, 0xaa8c85a1
and edx, 0x55737a5e
or eax, edx
xor eax, 0xaa8c85a1
mov edx, eax
xor eax, ecx
and edx, ecx
or eax, edx
mov ecx, eax
mov esi, eax
and eax, 0x9b24eb7c
not ecx
and esi, 0x887a8c1a
and ecx, 0x778573e5
or esi, ecx
mov edx, esi
xor esi, 0x60801280
xor edx, 0x887a8c1a
and esi, 0xe8ca969a
mov ecx, edx
and ecx, 0x64db1483
or eax, ecx
mov ecx, eax
and eax, 0x64db1482
not ecx
and ecx, 0x9b24eb7d
or eax, ecx
mov ecx, edx
and edx, 1
and ecx, 0x17356965
or ecx, esi
xor ecx, 0xe8ca969b
or edx, ecx
mov ecx, eax
and eax, 0x4ed89fe2
not ecx
mov esi, ecx
or ecx, edx
and esi, 0xb127601d
not ecx
or eax, esi
mov esi, edx
and edx, 0xb127601d
not esi
and esi, 0x4ed89fe2
or esi, edx
xor esi, eax
or ecx, esi
mov eax, ecx
mov esi, ecx
not eax
and esi, 0x53ea1494
mov edx, eax
and eax, 0xac15eb6b
and edx, ecx
or eax, esi
mov esi, edx
and edx, 0xac15eb6b
not esi
or ecx, esi
and esi, 0x53ea1494
or edx, esi
not ecx
mov esi, 0xd749cb82
xor edx, eax
mov eax, dword [0x44f58c]
or ecx, edx
sete cl
setne ch
sete byte [esp + 0x78]
cmp eax, 9
setg dl
cmp eax, 0xa
setl al
mov ah, dl
setl byte [esp + 0x7c]
xor ah, al
and ah, dl
mov dl, ah
xor dl, 1
mov dh, dl
and dh, ah
mov bl, dh
xor dh, ah
xor bl, 1
or bl, dl
mov dl, ch
xor bl, 1
or bl, dh
xor dl, bl
and ch, dl
and dl, bl
xor ch, 1
xor dl, 1
mov ah, ch
xor ah, dl
or dl, ch
xor dl, 1
or dl, ah
mov ah, cl
xor ah, al
and al, cl
or al, ah
mov cl, ah
xor al, 1
and cl, al
xor al, ah
or al, cl
xor al, dl
and dl, al
mov ecx, eax
xor cl, dl
test al, 1
mov eax, 0x26614e81
cmovne eax, esi
test dl, 1
mov edx, 0x26614e81
cmove eax, esi
test cl, 1
cmove eax, edx
mov edx, 0x5439a140
nop
cmp edx, 0x26614e80
jg 0x414100
cmp edx, 0xd749cb82
je 0x414199
cmp edx, 0x7c954b4
jne 0x4140d0
mov edx, eax
cmp edx, 0x26614e80
jle 0x4140d8
nop word cs:[eax + eax]
cmp edx, 0x26614e81
je 0x4141b0
cmp edx, 0x5439a140
jne 0x4140d0
movzx edx, byte [esp + 0x78]
movzx ecx, byte [esp + 0x7c]
mov esi, 0x7c954b4
mov edi, 0xd749cb82
mov dh, dl
mov ch, cl
xor dh, 1
xor ch, 1
mov bl, dh
mov bh, ch
and bl, dl
and dl, cl
and cl, ch
and bh, cl
xor cl, ch
and ch, dh
or dl, ch
mov ch, dh
or cl, bh
and ch, bl
xor bl, dh
xor dl, 1
or bl, ch
or dl, dh
mov ch, bl
mov bh, dl
xor ch, 1
and ch, cl
xor cl, 1
and cl, bl
or cl, ch
xor bh, cl
xor cl, 1
xor bh, 1
or cl, dl
mov edx, 0xd749cb82
mov bl, bh
xor bl, cl
test bh, 1
cmovne edx, esi
test cl, 1
cmovne edx, edi
test bl, 1
cmove edx, esi
cmp edx, 0x26614e80
jle 0x4140d8
jmp 0x414100
mov edx, 0x7c954b4
cmp edx, 0x26614e80
jle 0x4140d8
jmp 0x414100
movsx eax, byte [ebp + 0x1c]
lea ecx, [esp + 0x88]
push eax
call fcn.004175f0
mov eax, dword [esp + 0x80]
dec eax
jmp 0x413efc
lea eax, [esp + 0xa8]
mov ecx, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xbc], 0xf
mov dword [esp + 0xb8], 0
mov dword [esp + 0x78], ecx
mov eax, dword [esp + 0x78]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x7c], eax
mov eax, 0x1dd4939e
nop word cs:[eax + eax]
nop
cmp eax, 0x1dd4939d
jg 0x414270
cmp eax, 0xbcc9fecd
je 0x41423a
cmp eax, 0x145664e3
jne 0x414220
jmp 0x414341
sub esp, 0xc
mov al, byte [esp + 0x90]
lea ecx, [esp + 0xb4]
mov byte [esp + 4], al
mov eax, dword [ebp + 0x24]
mov dword [esp + 8], 0
mov dword [esp], eax
call fcn.00416070
jmp 0x41432c
cmp eax, 0x5c9e28d5
je 0x41429b
cmp eax, 0x1dd4939e
jne 0x414220
mov eax, dword [esp + 0x7c]
mov ecx, 0xbcc9fecd
cmp eax, dword [ebp + 0x24]
mov eax, 0x5c9e28d5
cmovb eax, ecx
cmp eax, 0x1dd4939d
jle 0x414227
jmp 0x414270
mov eax, dword [esp + 0x78]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x88], ecx
mov ecx, 0xd7565d3
nop dword [eax]
cmp ecx, 0xa3eced73
je 0x414310
cmp ecx, 0x83b3a62
je 0x4142fa
cmp ecx, 0xd7565d3
jne 0x4142c0
cmp dword [eax + 0x14], 0xf
mov ebx, dword [esp + 0x88]
mov ecx, 0xa3eced73
mov edx, 0x83b3a62
cmova ecx, edx
cmp ecx, 0xa3eced73
jne 0x4142c8
jmp 0x414310
mov ecx, dword [esp + 0x80]
mov ebx, dword [ecx]
mov ecx, 0xa3eced73
cmp ecx, 0xa3eced73
jne 0x4142c8
mov ecx, dword [ebp + 0x24]
mov eax, dword [esp + 0x78]
mov edi, ecx
mov dword [eax + 0x10], ecx
push ecx
push 0
push ebx
call fcn.00424270
add esp, 0xc
mov byte [ebx + edi], 0
mov eax, 0x145664e3
cmp eax, 0x1dd4939d
jle 0x414227
jmp 0x414270
lea eax, [esp + 0xa8]
mov ecx, 0x83b3a62
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x80]
cmp dword [esp + 0xbc], 0xf
mov dword [esp + 0x88], eax
mov eax, 0xa3eced73
cmova eax, ecx
mov ecx, 0xd7565d3
nop word [eax + eax]
cmp ecx, 0xa3eced73
je 0x4143c1
cmp ecx, 0x83b3a62
je 0x4143ab
cmp ecx, 0xd7565d3
jne 0x414380
mov edx, dword [esp + 0x88]
mov ecx, eax
cmp ecx, 0xa3eced73
jne 0x414388
jmp 0x4143c1
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov ecx, 0xa3eced73
cmp ecx, 0xa3eced73
jne 0x414388
mov eax, dword [esi]
mov ecx, esi
push edx
push dword [esp + 0x28]
push dword [ebp + 0x20]
call dword [eax + 0x1c]
mov eax, dword [0x44f510]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
xor eax, 0x91a4066f
and eax, ecx
not ecx
and ecx, 0x91a4066f
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
and eax, 0x91a4066f
not ecx
and ecx, 0x6e5bf990
or eax, ecx
mov edx, eax
and eax, 1
not edx
mov ecx, edx
and edx, 0xfffffffe
or ecx, 1
or eax, edx
mov esi, ecx
mov edx, ecx
not esi
and edx, 0xa810bfc1
and esi, 0x57ef403e
or esi, edx
mov edx, eax
and eax, 0x57ef403e
not edx
or ecx, edx
and edx, 0xa810bfc1
or eax, edx
not ecx
xor eax, esi
or ecx, eax
mov eax, ecx
mov edx, ecx
xor eax, 0x8bcfa5f1
and edx, 0x82c32411
and eax, ecx
not ecx
and ecx, 0x90c81e0
or edx, ecx
xor edx, 0x82c32411
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
and eax, 0x8bcfa5f1
not ecx
and ecx, 0x74305a0e
or eax, ecx
mov ecx, eax
and eax, 0x969efd12
not ecx
and ecx, 0x696102ed
or eax, ecx
mov ecx, eax
xor eax, 0x900024d
xor ecx, 0x16962010
and eax, 0x8908df4f
and ecx, 0x76f720b0
or ecx, eax
mov eax, dword [0x44f514]
xor ecx, 0x8908df4f
cmp ecx, 0xffffffff
sete byte [esp + 0x7c]
cmp eax, 0xa
mov eax, 0x10564942
setl byte [esp + 0x80]
nop dword [eax + eax]
cmp eax, 0x33fc5574
jg 0x414550
cmp eax, 0xcd29ac8f
je 0x414731
cmp eax, 0x10564942
jne 0x4144d0
mov al, byte [esp + 0x7c]
mov cl, byte [esp + 0x80]
mov esi, 0x33fc5575
mov edi, 0x3b9d619a
xor al, 1
mov edx, ecx
mov ah, al
xor dl, 1
xor ah, cl
and dl, cl
mov ch, ah
xor ch, al
and ch, ah
mov ah, dl
xor dl, cl
and ah, cl
mov cl, ch
or dl, ah
xor dl, al
mov eax, edx
xor cl, dl
and dl, ch
and cl, ch
xor al, 1
xor ch, 1
and ch, al
mov eax, ecx
or dl, ch
xor al, dl
test al, 1
cmovne esi, edi
test dl, 1
mov eax, esi
cmovne eax, edi
test cl, 1
cmove eax, esi
cmp eax, 0x33fc5574
jle 0x4144d7
nop dword [eax]
cmp eax, 0x33fc5575
je 0x414707
cmp eax, 0x3b9d619a
jne 0x4144d0
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0x8c], ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [0x44f510]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
and ecx, 0xc894adb1
not eax
and eax, 0x376b524e
or ecx, eax
mov eax, ecx
xor ecx, 0x1120120c
xor eax, 0x802580
and ecx, 0xd9349a3d
and eax, 0x26cb65c2
or eax, ecx
mov ecx, eax
mov edx, eax
xor eax, 0x6af354b
xor ecx, 0x26cb65c2
xor edx, 0xd9349a3d
mov esi, ecx
and eax, edx
and edx, 0xbcb86616
and esi, 0xdf9baf76
mov edi, esi
and edi, eax
xor eax, esi
or eax, edi
mov edi, ecx
and ecx, 1
mov esi, eax
and edi, 0x434799e9
and eax, 0x65d8973d
not esi
or edi, edx
and esi, 0x9a2768c2
xor edi, 0xbcb86617
or eax, esi
or ecx, edi
mov esi, dword [0x44f514]
mov edi, 0x33fc5575
xor eax, 0xba43384a
not ecx
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
and ecx, 0x3b31e182
not eax
and eax, 0xc4ce1e7d
or eax, ecx
mov ecx, eax
xor eax, 0x40081c68
xor ecx, 0x19010080
and eax, 0x6238fd6a
and ecx, 0x9dc70295
or ecx, eax
mov eax, ecx
xor ecx, 0x4020612a
xor eax, 0x15860200
and ecx, 0xc86161bf
and eax, 0x379e9e40
or eax, ecx
xor eax, 0x379e9e40
setne dl
sete cl
cmp esi, 9
setg al
cmp esi, 0xa
mov esi, 0xcd29ac8f
setl ah
mov ch, ah
xor ch, al
and ch, ah
mov dh, ch
xor dh, 1
mov bl, dh
mov bh, dh
or dh, ch
and bl, ch
xor bh, bl
xor bl, 1
or bl, ch
xor bl, 1
or bl, bh
mov ch, bl
xor ch, dh
or dh, bl
xor dh, 1
or dh, ch
xor dh, 1
mov ch, dh
or dh, cl
xor ch, cl
mov bl, dh
not ch
and ch, cl
xor bl, ch
xor ch, 1
or ch, dh
mov dh, al
or al, dl
and dl, ah
xor ah, cl
xor bl, 1
and dh, cl
xor al, 1
xor ch, 1
or al, ah
or dh, dl
or ch, bl
xor al, 1
mov cl, dh
xor ch, 1
and cl, al
xor al, dh
mov dh, ch
or al, cl
or dh, al
xor ch, al
mov eax, 0x33fc5575
mov dl, dh
xor dl, ch
test ch, 1
cmovne eax, esi
test dh, 1
cmovne eax, edi
test dl, 1
jmp 0x414542
mov eax, dword [ebp + 0x18]
mov eax, dword [eax + 0x30]
mov ecx, dword [eax + 4]
mov dword [esp + 0x8c], ecx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, 0x3b9d619a
cmp eax, 0x33fc5574
jle 0x4144d7
jmp 0x414550
lea eax, [esp + 0x88]
push eax
call fcn.00415250
add esp, 4
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x7c], eax
mov eax, 0x63e45b60
cmp eax, 0x418db840
jg 0x4147b0
jmp 0x414777
cmp dword [esp + 0x7c], 0
mov eax, 0xa136a264
mov ecx, 0x418db841
cmove eax, ecx
cmp eax, 0x418db840
jg 0x4147b0
cmp eax, 0xa136a264
je 0x4147c0
cmp eax, 0xccd6bf4a
jne 0x414770
mov eax, dword [esp + 0x80]
mov eax, dword [eax]
mov eax, dword [eax]
mov ecx, dword [esp + 0x80]
push 1
call eax
mov eax, 0x418db841
cmp eax, 0x418db840
jle 0x414777
nop word [eax + eax]
cmp eax, 0x418db841
je 0x4147df
cmp eax, 0x63e45b60
jne 0x414770
jmp 0x41475e
mov ecx, dword [esp + 0x7c]
mov eax, dword [ecx]
call dword [eax + 8]
mov dword [esp + 0x80], eax
mov eax, 0xccd6bf4a
cmp dword [esp + 0x80], 0
jmp 0x414768
lea eax, [esp + 0x90]
mov dword [esp + 0x44], eax
mov esi, eax
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx]
push esi
call dword [eax + 0x14]
mov dword [esp + 0x80], esi
mov ecx, 0xad7ba9ae
mov edx, 0xb9d39158
mov eax, dword [esp + 0x80]
cmp dword [esp + 0xa4], 0xf
mov dword [esp + 0x88], eax
mov eax, 0xdcf4a5de
cmova eax, ecx
nop dword [eax]
cmp edx, 0xad7ba9ae
je 0x414859
cmp edx, 0xdcf4a5de
je 0x414871
cmp edx, 0xb9d39158
jne 0x414830
mov ecx, dword [esp + 0x88]
mov edx, eax
cmp edx, 0xad7ba9ae
jne 0x414838
mov ecx, dword [esp + 0x80]
mov edx, 0xdcf4a5de
mov ecx, dword [ecx]
cmp edx, 0xad7ba9ae
jne 0x414838
jmp 0x414859
mov dword [esp + 0x48], ecx
mov ecx, 0x2819f144
mov eax, dword [esp + 0x48]
movsx eax, byte [eax]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x4c]
cmp eax, 0x7f
mov eax, 0x5000e9b1
cmove eax, ecx
cmp eax, 0x29bea305
jg 0x412607
jmp 0x412650
mov eax, dword [ebp + 0x20]
mov ecx, 0xc0e14b7f
movsx eax, byte [eax]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
cmp eax, 0x2b
mov eax, 0xe32b23e5
cmove eax, ecx
mov cl, 1
jmp 0x4125d2
lea ecx, [esp + 0xa8]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x68]
mov edi, 0xa3eced73
mov ebx, 0xd7565d3
mov dword [esp + 0x80], ecx
mov ecx, dword [esp + 0x80]
cmp dword [esp + 0xbc], 0xf
mov dword [esp + 0x88], ecx
mov ecx, 0x83b3a62
cmova edi, ecx
nop word [eax + eax]
cmp ebx, 0xa3eced73
je 0x414961
cmp ebx, 0x83b3a62
je 0x41494b
cmp ebx, 0xd7565d3
jne 0x414920
mov ecx, dword [esp + 0x88]
mov ebx, edi
cmp ebx, 0xa3eced73
jne 0x414928
jmp 0x414961
mov ecx, dword [esp + 0x80]
mov ebx, 0xa3eced73
mov ecx, dword [ecx]
cmp ebx, 0xa3eced73
jne 0x414928
add ecx, edx
lea edx, [ebp + 0x10]
sub eax, esi
mov esi, edx
mov edx, dword [edx]
mov esi, dword [esi + 4]
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], esi
mov edx, 0xe8fad086
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, 0xe1d50b6e
je 0x414bc2
cmp edx, 0x3f9bb3ff
je 0x4149e0
cmp edx, 0xe8fad086
jne 0x414990
mov dword [esp + 0x7c], eax
mov dword [esp + 0x80], ecx
mov edx, 0x3f9bb3ff
mov esi, 0xe1d50b6e
cmp dword [esp + 0x7c], 0
cmove edx, esi
cmp edx, 0xe1d50b6e
jne 0x41499c
jmp 0x414bc2
mov eax, dword [esp + 0x80]
mov ecx, dword [0x44f588]
lea esi, [ecx - 1]
mov al, byte [eax]
imul esi, ecx
mov ecx, esi
mov edx, esi
not ecx
and edx, 0x3f2c662a
mov edi, ecx
and edi, 0xc0d399d4
or edx, edi
mov edi, esi
xor edx, 0x3f2c662a
and edi, 1
or edi, edx
mov edx, edi
and edi, esi
mov esi, 0xd749cb82
not edx
and ecx, edx
or edi, ecx
mov ecx, dword [0x44f58c]
xor edx, edi
test edx, edi
mov edi, 0x26614e81
sete dl
setne ah
sete byte [esp + 0x84]
cmp ecx, 9
setg dh
cmp ecx, 0xa
setl cl
mov ch, dh
setl byte [esp + 0x78]
and dl, dh
xor dh, ah
and cl, ah
and ch, ah
or cl, dl
or dh, ch
mov dl, cl
and cl, dh
xor dh, 1
xor dl, 1
mov ah, dh
xor ah, dl
and dl, dh
and ah, dh
or dl, cl
mov cl, ah
xor cl, dl
test cl, 1
cmovne esi, edi
test dl, dl
mov edx, 0x5439a140
mov ecx, esi
cmovne ecx, edi
test ah, ah
cmove ecx, esi
nop word cs:[eax + eax]
nop dword [eax]
cmp edx, 0x26614e80
jg 0x414ad0
cmp edx, 0xd749cb82
je 0x414b7b
cmp edx, 0x7c954b4
jne 0x414aa0
mov edx, ecx
cmp edx, 0x26614e80
jle 0x414aa8
nop word cs:[eax + eax]
cmp edx, 0x26614e81
je 0x414ba0
cmp edx, 0x5439a140
jne 0x414aa0
mov ah, byte [esp + 0x84]
movzx ebx, byte [esp + 0x78]
mov esi, 0xd749cb82
mov edi, 0x7c954b4
mov dh, bl
mov dl, ah
mov bh, ah
xor dh, 1
xor dl, 1
xor bh, bl
or dh, ah
or dl, bl
or ah, bl
xor dh, 1
xor dl, 1
xor ah, 1
mov bl, dh
or ah, bh
and bl, dl
xor dl, dh
or dl, bl
mov dh, dl
xor dh, 1
mov bl, dh
mov bh, dh
xor dh, ah
and bl, dl
xor bh, bl
xor bl, 1
or bl, dl
xor bl, 1
or bl, bh
mov bh, bl
xor bl, 1
and bl, ah
xor ah, 1
or dl, ah
and bh, ah
xor dl, 1
or bl, bh
or dl, dh
mov ah, dl
xor ah, bl
test dl, 1
mov edx, 0x7c954b4
cmovne edx, esi
test bl, 1
cmove edx, esi
test ah, 1
cmove edx, edi
cmp edx, 0x26614e80
jle 0x414aa8
jmp 0x414ad0
mov edx, 0x7c954b4
cmp edx, 0x26614e80
jle 0x414aa8
jmp 0x414ad0
movsx eax, al
lea ecx, [esp + 0x88]
push eax
call fcn.004175f0
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
dec eax
inc ecx
jmp 0x41497d
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov esi, dword [ebp + 0x18]
lea edx, [ebp + 0x10]
lea edi, [esp + 0x88]
mov dword [edx + 4], ecx
mov dword [edx], eax
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
mov esi, 0xd749cb82
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x88], eax
mov eax, 0x24d175b0
nop dword [eax + eax]
cmp eax, 0x74b2ca60
je 0x414c50
cmp eax, 0x2f68d6ab
je 0x414e8d
cmp eax, 0x24d175b0
jne 0x414c10
mov eax, dword [esp + 4]
mov ecx, 0x2f68d6ab
mov dword [esp + 0x80], eax
mov eax, 0x74b2ca60
cmp dword [esp + 0x80], 0
cmove eax, ecx
cmp eax, 0x74b2ca60
jne 0x414c17
mov eax, dword [0x44f588]
lea ecx, [eax - 1]
imul ecx, eax
mov edx, ecx
mov eax, ecx
xor edx, 0x80c639b7
or eax, 0x7f39c648
and edx, ecx
mov ecx, eax
mov ebx, eax
not ecx
and ebx, 0x9ce67a80
and ecx, 0x137
or ecx, ebx
mov ebx, edx
and edx, 0x6319857f
not ebx
or eax, ebx
and ebx, 0x9ce67a80
or edx, ebx
not eax
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0x86a4fd9b
not ecx
and ecx, 0x795b0264
or eax, ecx
mov edx, eax
xor eax, 0xf99d3bd3
mov ecx, eax
xor edx, 0x4000004
and eax, 0x13e7d5bb
or ecx, 1
and edx, 0xec182a44
mov ebx, ecx
or edx, eax
mov eax, ecx
not ebx
and eax, 0x53adaffa
and ebx, 0xac525004
or ebx, eax
mov eax, edx
xor edx, 0x13e7d5ba
xor eax, 0xac100005
or ecx, edx
and edx, 0x53adaffa
and eax, 0xac525005
not ecx
or eax, edx
xor eax, ebx
mov ebx, 0x26614e81
or ecx, eax
mov eax, ecx
not eax
and ecx, eax
mov edx, eax
and edx, ecx
xor ecx, eax
or ecx, edx
mov edx, dword [0x44f58c]
setne ah
sete cl
sete byte [esp + 0x78]
mov ch, ah
cmp edx, 9
setg al
cmp edx, 0xa
setl dl
setl byte [esp + 0x7c]
and cl, al
and ch, dl
xor dl, ah
or cl, ch
mov ch, al
or al, ah
xor ch, ah
xor al, 1
mov ah, dl
or al, ch
mov ch, cl
xor ah, al
or al, dl
xor ch, 1
xor al, 1
or al, ah
mov edx, eax
not dl
and dl, ch
or ch, al
and al, cl
or al, dl
mov cl, ch
mov edx, 0x26614e81
xor cl, al
test cl, 1
cmovne edx, esi
test al, al
mov eax, edx
cmovne eax, ebx
test ch, 1
mov ecx, 0x5439a140
cmovne eax, edx
nop word cs:[eax + eax]
nop
cmp ecx, 0x26614e80
jg 0x414dc0
cmp ecx, 0xd749cb82
je 0x414e53
cmp ecx, 0x7c954b4
jne 0x414d90
mov ecx, eax
cmp ecx, 0x26614e80
jle 0x414d98
nop word cs:[eax + eax]
cmp ecx, 0x26614e81
je 0x414e70
cmp ecx, 0x5439a140
jne 0x414d90
mov ch, byte [esp + 0x78]
mov dh, byte [esp + 0x7c]
mov bl, dh
mov cl, ch
xor bl, 1
xor cl, 1
mov dl, bl
or bl, ch
and ch, dh
and dl, cl
xor bl, 1
or ch, dl
mov dl, ch
xor dl, cl
or cl, dh
and dl, ch
xor cl, 1
mov ch, bl
and ch, cl
xor cl, bl
mov ebx, 0x7c954b4
or cl, ch
mov ch, dl
xor ch, 1
xor cl, 1
and dl, ch
mov dh, ch
and dh, dl
xor dl, ch
or dl, dh
mov dh, ch
xor dl, cl
and dh, cl
xor cl, ch
or cl, dh
mov ch, cl
xor ch, dl
test ch, 1
cmovne ebx, esi
test cl, 1
mov ecx, 0x7c954b4
cmovne ecx, ebx
test dl, 1
cmove ecx, ebx
cmp ecx, 0x26614e80
jle 0x414d98
jmp 0x414dc0
mov ecx, 0x7c954b4
cmp ecx, 0x26614e80
jle 0x414d98
jmp 0x414dc0
movsx eax, byte [ebp + 0x1c]
mov ecx, edi
push eax
call fcn.004175f0
mov eax, dword [esp + 0x80]
dec eax
mov dword [esp + 4], eax
jmp 0x414c03
movsd xmm0, qword [esp + 0x88]
mov esi, dword [ebp + 0xc]
lea ecx, [esp + 0x90]
movsd qword [esi], xmm0
call fcn.00407c00
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0xa8]
call fcn.00407c00
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0xc0]
xor ecx, ebp
call fcn.0041e74b
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret