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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x74
mov eax, dword [0x4415e0]
xor eax, ebp
mov dword [ebp - 0x10], eax
mov eax, dword [0x441f40]
lea ecx, [eax - 1]
imul ecx, eax
mov eax, ecx
mov edx, ecx
mov edi, ecx
mov dword [ebp - 0x4c], ecx
xor eax, 0x27e5fe9f
not edx
and eax, ecx
mov ecx, edx
mov esi, edx
mov dword [ebp - 0x6c], edx
and ecx, 0x27e5fe9f
mov edx, ecx
and edx, eax
xor eax, ecx
or eax, edx
mov ecx, eax
and eax, 0x7da493db
not ecx
and ecx, 0x825b6c24
or eax, ecx
mov edx, eax
xor eax, 0x250e0218
xor edx, 0x1a004940
and eax, 0x654f261c
and edx, 0x9ab0d9e3
or edx, eax
mov ecx, edx
xor edx, 0x444c0408
xor ecx, 0x9ab0d9e3
and edx, 0xccdc952b
mov eax, ecx
and ecx, 1
and eax, 0x33236ad4
or eax, edx
mov edx, edi
xor eax, 0xccdc952a
and edx, 1
or ecx, eax
mov eax, esi
and eax, 0xfffffffe
or edx, eax
mov eax, ecx
mov edi, edx
and eax, 0x76fa3030
xor edi, esi
and edi, edx
mov edx, ecx
or ecx, 0x2555d4a1
not edx
mov esi, edi
and edx, 0x8905cfcf
and esi, 0x3fe541a3
or edx, eax
mov eax, edi
xor eax, 0x2555d4a1
and eax, edi
not edi
and edi, 0xc01abe5c
or esi, edi
mov edi, edx
xor edx, 0x53afe491
xor edi, 0x8905cfcf
and edx, edi
mov dword [ebp - 0x68], edi
mov ebx, edx
and edx, 0xdca39903
not ebx
mov edi, ebx
or ebx, ecx
and edi, 0x235c66fc
not ebx
or edx, edi
mov edi, ecx
and ecx, 0x235c66fc
not edi
and edi, 0xd8a20902
or edi, ecx
xor edi, edx
mov edx, esi
xor esi, 0x109400
or esi, 0xdaaa2b5e
or ebx, edi
xor edx, 0x3fe541a3
mov ecx, esi
mov edi, esi
not ecx
and edi, 0x583b74e1
and ecx, 0x25448000
or ecx, edi
mov edi, eax
and eax, 0xa7c48b1e
not edi
or esi, edi
and edi, 0x583b74e1
or eax, edi
not esi
xor eax, ecx
mov ecx, dword [ebp - 0x68]
or esi, eax
mov eax, ebx
and ebx, 0xc9f60aa9
not eax
and eax, 0x3609f556
or ebx, eax
mov eax, esi
and esi, 0xc9f60aa9
not eax
and eax, 0x3609f556
or esi, eax
mov eax, ecx
and eax, edx
xor edx, ecx
xor esi, ebx
mov ecx, dword [ebp - 0x4c]
or edx, eax
mov eax, esi
not edx
and eax, edx
xor edx, esi
or edx, eax
mov eax, dword [ebp - 0x6c]
mov esi, ecx
xor esi, 0x801c9c70
and esi, ecx
and ecx, 0x80188c50
and eax, 0x41020
or ecx, eax
xor ecx, 0x80188c50
mov eax, ecx
and eax, esi
xor esi, ecx
mov ecx, edx
or esi, eax
or ecx, 0x28391060
mov eax, esi
and esi, 0x801c9c70
and ecx, 0x69793470
not eax
and eax, 0x7fe3638f
or esi, eax
mov eax, edx
not eax
mov edi, eax
and edi, 0x12844983
or edi, ecx
mov ecx, eax
and eax, 0x48ae87a1
or ecx, 0x53c46d93
mov ebx, ecx
and ecx, 0x69793470
not ebx
and ebx, 0x8402820c
or ebx, ecx
mov ecx, esi
xor ecx, 0x53c46d93
xor ebx, edi
and ecx, esi
not esi
and esi, 0x53c46d93
mov edi, esi
and edi, ecx
xor ecx, esi
mov esi, ebx
or ecx, edi
not esi
and esi, ecx
not ecx
and ecx, ebx
or ecx, esi
mov esi, ecx
and ecx, 0xa42af0ae
not esi
and esi, 0x5bd50f51
or ecx, esi
mov esi, ecx
xor ecx, 0x5bd50f51
mov edi, ecx
xor esi, 0x2a80a0
or ecx, edx
and edx, 0xb751785e
and edi, 0xb751785e
and esi, 0x48ae87a1
or eax, edx
mov edx, dword [0x441f44]
not ecx
or esi, edi
xor eax, esi
or ecx, eax
cmp ecx, 0xffffffff
mov ecx, 0x77dea603
sete byte [ebp - 0x46]
cmp edx, 0xa
setl byte [ebp - 0x45]
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
mov ecx, 0x2ea40ed2
nop word cs:[eax + eax]
nop dword [eax + eax]
cmp ecx, 0x2ea40ed1
jle 0x40a7c0
cmp ecx, 0x5e9b3f0f
jle 0x40a800
cmp ecx, 0x76848845
jg 0x40aded
cmp ecx, 0x5e9b3f10
je 0x40b202
cmp ecx, 0x674410f0
jne 0x40a750
mov eax, dword [ebp - 0x68]
mov edx, 0xaf48f23c
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x70]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x28]
cmp ecx, eax
mov ecx, 0x23d4b2d9
cmovb ecx, edx
cmp ecx, 0x2ea40ed1
jg 0x40a758
nop word cs:[eax + eax]
nop dword [eax]
cmp ecx, 0xbf879f5
jle 0x40a840
cmp ecx, 0x23d4b2d8
jg 0x40b1a3
cmp ecx, 0xbf879f6
je 0x40b22e
cmp ecx, 0x17aa8851
jne 0x40a750
mov ecx, 0xdb36b93f
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
cmp ecx, 0x4648a8d2
jle 0x40b1e5
cmp ecx, 0x4648a8d3
je 0x40a72d
cmp ecx, 0x5e1b15da
jne 0x40a750
mov eax, dword [ebp - 0x28]
mov ecx, 0x674410f0
inc eax
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x20]
jmp 0x40b1d1
cmp ecx, 0xaf48f23c
je 0x40b273
cmp ecx, 0xbb78442c
je 0x40bb72
cmp ecx, 0xdb36b93f
jne 0x40a750
push eax
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 8]
mov ecx, eax
mov eax, dword [eax + 0x3c]
mov eax, dword [ecx + eax + 0x78]
add eax, ecx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x40]
mov eax, dword [eax + 0x20]
add eax, ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x58], eax
mov eax, dword [0x441f40]
lea esi, [eax - 1]
imul esi, eax
mov ecx, esi
mov edx, esi
not ecx
and edx, 0x7325b309
mov eax, ecx
and eax, 0x8cda4cf6
or edx, eax
mov eax, edx
xor edx, 0x801244b6
or edx, 0xfccb940
xor eax, 0x20000009
mov edi, edx
and eax, 0x2000443f
and edi, 0xdbff0a80
or eax, edi
mov edi, esi
xor edi, 0xf03346bf
and edi, esi
mov ebx, edi
and edi, 0x2400f57f
not ebx
or edx, ebx
and ebx, 0xdbff0a80
or edi, ebx
not edx
mov ebx, esi
xor edi, eax
xor ebx, 0x824ce41
or edx, edi
and ebx, esi
and esi, 0x4af7fbc7
mov eax, edx
and edx, 0xf03346bf
not eax
and eax, 0xfccb940
or edx, eax
mov eax, edx
and edx, 0x76862ffe
not eax
and eax, 0x8979d001
or edx, eax
mov eax, edx
xor edx, 0x76862fff
and eax, 1
or edx, eax
mov eax, ecx
and ecx, 0x824ce41
and eax, 0xb5080438
or esi, eax
mov eax, esi
xor esi, 0x30080430
xor eax, 0x4af7fbc7
and esi, 0x38acccf7
mov edi, eax
and eax, 0xfffffffe
and edi, 0xc7533308
or edi, esi
xor edi, 0xc7533309
or eax, edi
mov edi, edx
mov esi, eax
and eax, 0xc148deb
not esi
and esi, 0xf3eb7214
or eax, esi
mov esi, edx
and edx, 0x6800cf01
not esi
and esi, 0x97ff30fe
or esi, edx
mov edx, eax
xor eax, 0xf3eb7214
xor edx, 0x41400ea
or edi, eax
and eax, 0x6800cf01
and edx, 0x97ff30fe
not edi
or edx, eax
mov eax, edi
xor edx, esi
and eax, edx
xor edx, edi
or edx, eax
mov eax, edx
and edx, 0xf786000a
not eax
and eax, 0x879fff5
or edx, eax
mov eax, ecx
and eax, ebx
xor ebx, ecx
mov ecx, edx
or ebx, eax
xor ecx, 0xf786000a
mov eax, ebx
and ebx, 0x49f602d7
not eax
and eax, 0xb609fd28
or ebx, eax
mov eax, edx
xor edx, 0x663afd5e
xor eax, 0xe795
and edx, ecx
and ecx, 0x6a7d1860
and eax, 0x9582e79f
or ecx, eax
mov dword [ebp - 0x4c], ecx
xor ecx, 0x9582e79f
mov esi, ecx
or esi, 0x6e4302ab
mov eax, esi
mov edi, esi
not eax
and edi, 0x5551f214
and eax, 0x80ac0d40
or eax, edi
mov edi, edx
and edx, 0xaaae0deb
not edi
or esi, edi
and edi, 0x5551f214
or edx, edi
not esi
xor edx, eax
mov eax, ebx
xor ebx, 0xbe2d3369
xor eax, 0x41d2cc96
or esi, edx
mov dword [ebp - 0x50], ebx
or ebx, 0x91bcfd54
mov edx, eax
or edx, 0x6e4302ab
mov edi, edx
and edx, 0x57bd9da5
not edi
and edi, 0x80006050
or edi, edx
mov edx, ebx
and ebx, 0x57bd9da5
not edx
and edx, 0x2842020a
or edx, ebx
xor edx, edi
mov edi, esi
and esi, 0x55056ea9
not edi
and edi, 0xaafa9156
or esi, edi
mov edi, edx
and edx, 0x55056ea9
not edi
and edi, 0xaafa9156
or edx, edi
mov edi, dword [ebp - 0x4c]
xor edx, esi
mov esi, ecx
or ecx, eax
and eax, 0xba699b73
and esi, 0xba699b73
not ecx
xor edi, 0x40140000
and edi, 0x4596648c
or edi, esi
mov esi, dword [ebp - 0x50]
and esi, 0x4596648c
or esi, eax
xor esi, edi
mov edi, 0x270e0bb6
or ecx, esi
mov eax, ecx
and ecx, 0x4e346979
not eax
and eax, 0xb1cb9686
or ecx, eax
mov eax, edx
xor ecx, 0x4e346979
and eax, ecx
xor ecx, edx
or ecx, eax
mov edx, ecx
mov eax, ecx
not edx
and eax, 0xe5fc28c1
mov esi, edx
and edx, 0x1a03d73e
and esi, ecx
or edx, eax
mov eax, esi
and esi, 0x1a03d73e
not eax
or ecx, eax
and eax, 0xe5fc28c1
or esi, eax
not ecx
mov eax, dword [0x441f44]
xor esi, edx
or ecx, esi
mov esi, 0x17aa8851
mov edx, ecx
and ecx, 0xc3300c85
not edx
and edx, 0x3ccff37a
or ecx, edx
mov edx, ecx
xor ecx, 0x30482178
xor edx, 0x1000805
and ecx, 0xf27825f8
and edx, 0xd87da07
or edx, ecx
mov ecx, edx
xor edx, 0x5054807
xor ecx, 0x23825b8
and edx, 0xf5454847
and ecx, 0xabab7b8
or ecx, edx
xor ecx, 0xabab7b8
sete cl
setne dl
cmp eax, 0xa
setl dh
cmp eax, 9
mov eax, edx
mov byte [ebp - 0x50], dl
mov bh, cl
mov byte [ebp - 0x60], cl
setg bl
xor al, cl
mov dl, al
xor bh, al
mov byte [ebp - 0x4c], bl
xor bl, dh
mov ah, al
not dl
not bh
and dl, al
and bh, al
xor dl, 1
xor ah, dl
or dl, al
mov al, bl
xor dl, 1
xor al, 1
or dl, ah
mov ah, al
mov ch, al
or ah, bl
mov cl, ah
or ch, ah
and ah, bl
not cl
and cl, al
or ah, cl
mov cl, ch
xor ah, 1
xor cl, ah
or ah, ch
xor ah, 1
or ah, cl
mov cl, dh
or cl, ah
xor ah, 1
or ah, byte [ebp - 0x4c]
mov ch, ah
or ah, cl
xor ch, cl
mov cl, al
xor ah, 1
xor al, dh
or cl, dh
or ah, ch
xor al, 1
mov ch, cl
xor ch, al
or al, cl
xor al, 1
or al, ch
mov bl, al
mov ecx, eax
xor bl, 1
and bl, al
xor bl, 1
xor cl, bl
or bl, al
xor bl, 1
or bl, cl
mov al, bl
mov ch, bl
xor al, 1
mov cl, al
and cl, bl
xor cl, 1
xor ch, cl
or cl, bl
or bl, ah
xor cl, 1
xor bl, 1
or cl, ch
mov ch, cl
xor cl, 1
and ch, ah
xor ah, 1
and cl, ah
xor ah, al
or bl, ah
or cl, ch
xor bl, 1
mov eax, ecx
and al, bl
xor bl, cl
or bl, al
mov eax, edx
xor al, 1
mov ecx, eax
and dl, al
xor cl, bh
mov ah, cl
xor ah, al
and ah, cl
mov ecx, eax
and cl, dl
xor dl, al
or dl, cl
xor dl, ah
xor dl, bh
mov bh, bl
mov al, dl
and dl, ah
xor al, 1
mov ecx, edx
and cl, al
xor dl, al
or dl, cl
mov ah, dl
xor ah, 1
mov al, ah
mov cl, ah
and al, dl
and cl, al
xor al, ah
or ah, dl
or al, cl
mov ecx, ebx
xor cl, 1
mov ch, al
or cl, bl
and bh, cl
xor cl, bl
or bh, cl
mov dl, cl
xor bh, 1
and dl, bh
xor bh, cl
or bh, dl
mov dl, al
xor dl, 1
and ch, dl
mov cl, ch
xor ch, al
xor cl, 1
or cl, dl
xor cl, 1
or cl, ch
mov dl, cl
and cl, ah
xor ah, 1
xor dl, 1
and dl, ah
or cl, dl
mov dl, al
xor dl, ah
or ah, al
xor ah, 1
or ah, dl
mov dl, byte [ebp - 0x60]
mov al, ah
xor al, cl
xor cl, 1
or cl, ah
xor al, 1
mov ah, byte [ebp - 0x50]
xor cl, 1
or cl, al
mov al, cl
xor al, 1
and dh, ah
and al, bh
xor bh, 1
and bh, cl
mov cl, byte [ebp - 0x4c]
or bh, al
mov al, cl
and dl, cl
or cl, ah
xor al, ah
xor cl, 1
or dh, dl
or cl, al
xor dh, 1
mov eax, ecx
or al, dh
xor dh, cl
xor al, 1
mov ecx, eax
and cl, dh
xor dh, al
or dh, cl
mov al, dh
xor al, 1
mov ecx, eax
mov dl, al
and cl, dh
and dl, cl
xor cl, al
xor al, dh
or cl, dl
and al, dh
mov edx, ecx
xor al, 1
xor dl, 1
and dl, cl
mov ah, dl
mov ch, dl
xor ah, 1
mov cl, ah
and cl, dl
xor cl, 1
xor ch, cl
or cl, dl
mov dl, ah
xor cl, 1
and dl, al
or cl, ch
xor cl, al
xor al, ah
or al, dl
mov edx, eax
xor dl, cl
xor cl, 1
or cl, al
xor dl, 1
xor cl, 1
or cl, dl
mov dl, bh
mov eax, ecx
xor al, 1
or cl, al
xor al, cl
xor al, 1
and al, cl
mov cl, bh
or cl, al
xor dl, al
xor cl, 1
and al, dl
mov ah, al
or cl, dl
and dl, bh
xor al, dl
xor ah, 1
xor dl, 1
or dl, ah
xor dl, 1
or dl, al
mov eax, ecx
xor dl, 1
or al, dl
xor dl, cl
mov ecx, 0x17aa8851
mov ah, dl
xor ah, al
test dl, 1
cmovne ecx, edi
test al, 1
cmovne ecx, esi
test ah, 1
mov eax, dword [ebp - 0x58]
cmove ecx, edi
mov eax, dword [eax + 0x18]
mov dword [ebp - 0x38], eax
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
cmp ecx, 0x76848846
je 0x40be06
cmp ecx, 0x77dea603
jne 0x40a750
movzx edx, byte [ebp - 0x46]
movzx eax, byte [ebp - 0x45]
mov esi, 0xdb36b93f
mov dh, dl
mov ecx, edx
mov ah, dl
mov byte [ebp - 0x50], dl
xor dh, 1
and cl, dh
xor ah, cl
xor cl, 1
or cl, dh
xor cl, 1
or cl, ah
mov ah, dh
xor dh, byte [ebp - 0x50]
or ah, dl
mov dl, ah
or ah, cl
xor dl, 1
xor ah, 1
xor cl, dl
mov byte [ebp - 0x5c], dl
mov dl, al
xor dl, 1
xor cl, 1
or dh, byte [ebp - 0x5c]
mov ch, dl
or ah, cl
mov cl, dl
mov ebx, edx
and ch, al
mov byte [ebp - 0x4c], ah
mov ah, al
or al, dl
and cl, ch
xor bl, ch
xor dl, ah
or bl, cl
mov cl, al
or dl, ch
mov bh, bl
xor cl, 1
mov byte [ebp - 0x50], dl
xor bh, 1
and cl, bh
or bh, al
and al, bl
mov bl, byte [ebp - 0x4c]
or al, cl
mov cl, bh
xor al, 1
xor cl, al
or al, bh
mov bh, dh
xor al, 1
mov dl, bl
mov ah, bl
xor bh, 1
or al, cl
mov ecx, ebx
xor cl, 1
mov byte [ebp - 0x60], al
and dl, cl
mov ch, cl
mov byte [ebp - 0x58], cl
mov cl, dl
mov eax, edx
xor dl, 1
and cl, bl
xor al, bl
or al, cl
mov cl, ch
or cl, bl
mov bl, bh
mov ah, cl
xor bl, dh
xor ah, al
xor al, 1
and bl, bh
or al, cl
mov cl, dh
xor ah, 1
xor al, 1
and cl, bh
or al, ah
mov ah, cl
xor cl, dh
xor ah, 1
or ah, bh
or bh, dh
mov ch, bh
xor ah, 1
xor ch, bl
xor bl, 1
or ah, cl
mov cl, byte [ebp - 0x58]
or bl, bh
mov bh, ch
xor bh, bl
or bl, ch
xor bl, 1
or bl, bh
mov ch, bl
xor ch, 1
and bl, ch
mov bh, ch
and bh, bl
xor bl, ch
or bl, bh
mov bh, byte [ebp - 0x60]
mov ch, bl
xor bl, 1
and ch, al
xor al, 1
and bl, al
mov al, dl
or bl, ch
mov ch, byte [ebp - 0x4c]
or dl, ch
xor al, ch
xor dl, 1
or dl, al
mov al, bh
xor al, 1
xor ah, dl
mov ch, al
mov al, cl
xor al, dh
or dh, cl
mov dl, ch
mov byte [ebp - 0x5c], ch
xor dh, 1
or dh, al
mov al, dh
xor al, ah
xor ah, 1
or ah, dh
xor al, 1
xor ah, 1
or ah, al
mov al, ah
xor al, 1
and ah, al
mov cl, al
and cl, ah
xor ah, al
mov al, bl
or ah, cl
xor al, 1
mov dh, ah
and ah, al
xor dh, 1
or al, dh
and dh, bl
mov bl, ch
xor al, 1
or dh, ah
and bl, bh
mov ecx, eax
xor bl, 1
and cl, dh
xor dh, al
mov al, bh
or dh, cl
mov cl, bh
xor al, bl
mov bh, byte [ebp - 0x50]
or bl, cl
or dl, cl
xor bl, 1
mov ecx, edx
or bl, al
xor cl, 1
mov eax, ebx
mov ch, bh
xor al, 1
mov ah, al
and cl, al
mov byte [ebp - 0x51], al
mov al, bh
or ah, dl
and dl, bl
xor ah, 1
or dl, cl
mov cl, ah
and cl, dl
xor dl, ah
mov ah, bh
xor ah, 1
or dl, cl
and ch, ah
and bl, ah
mov cl, ch
xor ch, bh
and cl, bh
or ch, cl
mov cl, bh
or cl, ah
xor cl, 1
xor ch, cl
xor al, cl
or cl, bh
xor cl, 1
xor ch, 1
or cl, al
mov bh, ch
mov al, byte [ebp - 0x51]
or ch, cl
xor bh, cl
mov cl, dl
xor ch, 1
or ch, bh
mov bh, dl
xor bh, 1
and bh, dl
xor bh, 1
xor cl, bh
or bh, dl
xor bh, 1
or bh, cl
mov cl, bh
and bh, ch
xor ch, 1
xor cl, 1
and cl, ch
mov ch, byte [ebp - 0x58]
or bh, cl
mov cl, byte [ebp - 0x50]
xor bh, 1
and cl, al
or al, ah
or bl, cl
mov cl, al
xor cl, bl
xor bl, 1
or bl, al
xor cl, 1
mov al, bh
xor bl, 1
or bl, cl
or al, bl
xor bh, bl
mov cl, al
xor cl, bh
xor bh, 1
or bh, al
mov al, dh
xor cl, 1
xor bh, 1
xor al, 1
or bh, cl
mov cl, al
mov dl, al
and cl, dh
and dl, cl
xor cl, al
xor al, dh
or cl, dl
and al, dh
mov edx, ecx
xor dl, 1
and dl, cl
mov cl, dl
mov ah, dl
xor cl, 1
and cl, al
xor al, 1
xor ah, al
and al, dl
and ah, dl
or al, cl
movzx edx, byte [ebp - 0x60]
mov cl, ah
and cl, al
xor al, ah
mov ah, bh
or al, cl
mov cl, byte [ebp - 0x4c]
xor ah, al
and bh, ah
and ah, al
mov al, bh
and al, ah
xor ah, bh
or ah, al
mov al, byte [ebp - 0x5c]
xor al, cl
xor ch, al
and ch, al
mov al, dl
xor al, cl
and dl, al
and al, cl
mov cl, dl
xor dl, al
xor al, 1
xor cl, 1
or al, cl
xor al, 1
or al, dl
xor al, ch
mov cl, al
xor cl, 1
and ch, cl
mov dl, ch
xor ch, al
xor dl, 1
or dl, cl
xor dl, 1
or dl, ch
mov al, dl
xor al, 1
mov ecx, eax
and cl, dl
xor al, cl
xor cl, 1
or cl, dl
xor cl, 1
or cl, al
mov al, cl
mov edx, ecx
xor al, 1
or dl, al
xor cl, dl
or dl, al
xor cl, 1
xor dl, 1
or dl, cl
mov al, dl
mov ecx, edx
xor al, 1
and cl, al
mov ch, cl
xor cl, al
xor ch, 1
or ch, dl
mov dl, ah
xor ch, 1
xor dl, 1
or ch, cl
mov dh, dl
mov ebx, edx
mov al, ch
mov cl, ch
xor al, 1
and al, ch
and cl, al
xor al, ch
mov ch, ah
and ch, dl
or al, cl
xor ch, 1
mov cl, al
xor dh, ch
or ch, dl
xor cl, 1
xor ch, 1
xor bl, cl
or ch, dh
mov dh, cl
and bl, dl
and cl, dl
or dl, ah
mov bh, ch
xor bh, dl
or dl, ch
xor dl, 1
or dl, bh
or dh, dl
xor dl, 1
or dl, al
and al, ah
mov ch, dl
or dl, dh
or cl, al
mov eax, ebx
xor bl, cl
xor ch, dh
xor dl, 1
xor al, 1
xor cl, 1
or dl, ch
or cl, al
xor cl, 1
xor dl, 1
or cl, bl
mov eax, edx
and al, cl
xor dl, cl
or al, dl
mov ecx, eax
xor cl, dl
test cl, 1
mov ecx, 0x17aa8851
cmovne esi, ecx
test al, 1
mov ecx, 0xdb36b93f
cmovne ecx, esi
test dl, 1
cmove ecx, esi
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
cmp ecx, 0x23d4b2d9
je 0x40be45
cmp ecx, 0x270e0bb6
jne 0x40a750
mov dword [ebp - 0x6c], 0
mov ecx, 0x674410f0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x68], eax
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
cmp ecx, 0x2ea40ed2
je 0x40be61
cmp ecx, 0x45f03f6e
jne 0x40a750
jmp 0x40c5b4
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x78], 0
mov ecx, 0x76848846
add eax, 4
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x74], eax
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp + 8]
mov eax, dword [eax + 0x24]
mov edx, ecx
add eax, ecx
mov ecx, dword [ebp - 0x28]
movzx eax, word [eax + ecx*2]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x78], 2
mov ecx, dword [ecx + 0x1c]
add ecx, edx
mov eax, dword [ecx + eax*4]
mov ecx, 0x76848846
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x7c], eax
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
mov eax, dword [ebp - 0x2c]
mov edi, dword [eax]
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x34], eax
add edi, dword [ebp + 8]
mov eax, dword [ebp - 0x34]
mov esi, dword [ebp - 0x44]
sub esp, 4
mov al, byte [ebp - 0x14]
mov ecx, esi
mov byte [esp], al
call fcn.00410890
mov dword [esi + 0x10], 0
mov dword [esi + 0x14], 0xf
mov byte [esi], 0
push edi
call fcn.00429e20
add esp, 4
mov ecx, esi
push eax
push edi
call fcn.00411ea0
mov eax, dword [0x441f48]
lea edx, [eax - 1]
imul edx, eax
mov ecx, edx
mov dword [ebp - 0x58], edx
not ecx
mov eax, ecx
mov esi, ecx
mov dword [ebp - 0x50], ecx
mov ecx, edx
and edx, 0x263cd8f3
and eax, 0xd80763d0
and ecx, 0x27f89c2f
or ecx, eax
mov eax, ecx
and ecx, 0xe5e556bc
not eax
and eax, 0x1a1aa943
or ecx, eax
mov eax, esi
mov edi, ecx
and eax, 0xd9c3270c
not ecx
xor edi, 0x3de2356c
or edx, eax
and ecx, 1
mov eax, edx
and edi, 0xfffffffe
xor edx, 0xd9c3270d
or edi, ecx
xor eax, 0x263cd8f2
and eax, 0xfffffffe
not edi
or edx, eax
mov eax, edi
or edi, 0x157b366d
or eax, 1
mov ebx, edx
mov ecx, eax
and eax, 0x604727cb
not ebx
not ecx
and ecx, 0x9fb8d834
or ecx, eax
mov eax, edx
xor edx, 0xea84c992
mov esi, ecx
mov dword [ebp - 0x5c], ecx
xor ecx, 0x753c11a6
and edx, ebx
and eax, 0x8b8b3527
and ebx, 0x7474cad8
xor esi, 0x9fb8d834
or ebx, eax
and ecx, esi
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x60], esi
mov eax, ecx
and ecx, 0x5310c44b
not eax
mov ebx, eax
or eax, edi
and ebx, 0xacef3bb4
not eax
or ecx, ebx
mov ebx, edi
and edi, 0xacef3bb4
not ebx
and ebx, 0x4200c002
or ebx, edi
xor ebx, ecx
or eax, ebx
mov ebx, dword [ebp - 0x4c]
mov ecx, ebx
xor ebx, 0x9ef0034a
xor ecx, 0x7474cad8
and ebx, ecx
and ecx, 0x68619c90
mov edi, ebx
and ebx, 0xe49406a7
not edi
mov esi, edi
and esi, 0x1b6bf958
or ebx, esi
mov esi, edx
and edx, 0xe49406a7
not esi
or edi, esi
and esi, 0x1b6bf958
or edx, esi
not edi
mov esi, dword [ebp - 0x60]
xor edx, ebx
or edi, edx
mov edx, eax
not edx
and edx, edi
not edi
and esi, 0x68619c90
and edi, eax
or edi, edx
mov edx, dword [ebp - 0x5c]
xor edx, 0x604727cb
mov eax, edx
and eax, 0x979e636e
or esi, eax
mov eax, dword [ebp - 0x4c]
xor eax, 0x8b8b3527
or edx, eax
and eax, 0x979e636f
or ecx, eax
not edx
xor ecx, esi
mov esi, dword [ebp - 0x58]
or edx, ecx
mov eax, edx
and edx, 0x5014d939
not eax
and eax, 0xafeb26c6
and esi, 0x6208dcd0
or edx, eax
mov eax, edi
and edi, 0xb672f3db
not eax
mov ecx, eax
and ecx, 0x498d0c24
or edi, ecx
mov ecx, edx
xor edx, 0xafeb26c6
xor ecx, 0x1010d119
or eax, edx
and edx, 0x498d0c24
and ecx, 0xb672f3db
not eax
or ecx, edx
xor ecx, edi
or eax, ecx
mov edx, eax
xor edx, 0xd0d56159
and edx, eax
not eax
and eax, 0xd0d56159
mov ecx, eax
and ecx, edx
xor edx, eax
or edx, ecx
mov ecx, dword [ebp - 0x50]
mov eax, edx
and edx, 0x4d8a01b
not eax
and eax, 0xfb275fe4
and ecx, 0x9df7232f
or edx, eax
or esi, ecx
mov eax, edx
xor edx, 0x8b22830
mov ecx, esi
xor esi, 0x4b7222f
xor eax, 0xd40dc142
and edx, 0xcbee970
xor ecx, 0x62080410
and esi, 0x4b7faef
mov edi, eax
and eax, 0x4ee236be
and ecx, 0xfb480510
and edi, 0xf341168f
or ecx, esi
or edi, edx
mov esi, ecx
mov ebx, ecx
xor ecx, 0xb5aa33ae
xor esi, 0x4b7faef
xor ebx, 0x5a080010
mov edx, esi
and ecx, esi
mov esi, edi
and ebx, 0x5a28a259
xor edi, 0xbda32031
and edx, 0xa5d75da6
xor esi, 0xf341168f
or edx, ebx
and edi, esi
mov ebx, edi
xor edx, 0xa5d75da6
and ebx, eax
xor eax, edi
mov edi, edx
and edi, 0xb11dc941
or eax, ebx
mov ebx, edi
and ebx, ecx
xor ecx, edi
mov edi, eax
or ecx, ebx
not edi
and edi, ecx
not ecx
and ecx, eax
mov eax, esi
and eax, edx
xor edx, esi
or ecx, edi
mov esi, dword [0x441f4c]
mov edi, 0x97ee86f5
or edx, eax
mov eax, ecx
not edx
and eax, edx
xor edx, ecx
or edx, eax
mov eax, edx
xor eax, 0x63f05f61
and eax, edx
not edx
and edx, 0x63f05f61
mov ecx, edx
and ecx, eax
xor eax, edx
or eax, ecx
mov ecx, eax
and eax, 0x2540af15
not ecx
and ecx, 0xdabf50ea
or eax, ecx
xor eax, 0x46b0f074
sete al
setne ch
sete byte [ebp - 0x12]
cmp esi, 9
setg cl
cmp esi, 0xa
mov byte [ebp - 0x58], al
mov esi, 0xc00d5b20
setl dl
mov ah, cl
setl byte [ebp - 0x11]
xor ah, dl
mov ebx, edx
mov dh, dl
mov bh, ah
and bl, ah
xor dh, ah
xor ah, cl
or bh, cl
not ah
or dh, bl
xor bh, 1
and ah, cl
xor cl, ch
xor ch, al
mov bl, bh
xor ch, 1
mov byte [ebp - 0x4c], cl
and bl, ah
xor ah, bh
or ch, al
or ah, bl
mov bl, dh
mov al, ch
xor bl, ah
xor ah, 1
xor al, 1
or ah, dh
mov dh, ah
or ah, bl
xor dh, bl
xor ah, 1
or ah, dh
mov dh, al
or dh, ch
and al, dh
xor dh, 1
mov bl, dh
xor bl, ch
and bl, dh
and dh, ch
or dh, al
mov al, bl
xor bl, dh
xor al, 1
xor dh, 1
or dh, al
mov al, ah
xor al, 1
xor dh, 1
mov ch, al
or dh, bl
mov bl, ah
and ch, ah
mov bh, dh
xor ch, 1
xor bh, 1
xor bl, ch
or ch, ah
xor ch, 1
or ch, bl
mov bl, dh
and dh, bh
and bl, ch
xor ch, 1
and ch, bh
or ch, bl
mov bl, bh
and bl, dh
xor dh, bh
xor ch, 1
or dh, bl
or ch, bh
and ah, dh
xor dh, 1
mov bh, ch
and dh, al
xor bh, 1
or dh, ah
mov bl, bh
xor dh, 1
and bl, ch
or dh, al
mov cl, bl
xor bl, bh
mov al, dh
and cl, bh
xor al, 1
or bl, cl
mov ah, al
and ah, dh
mov cl, ah
xor ah, al
and cl, al
mov al, ch
and al, dh
xor dh, ch
or ah, cl
mov cl, byte [ebp - 0x58]
or dh, al
xor ah, bl
mov al, dh
xor al, ah
xor ah, 1
or ah, dh
xor al, 1
xor ah, 1
or ah, al
mov al, dl
xor dl, cl
and al, cl
mov cl, byte [ebp - 0x4c]
or dl, al
mov al, cl
and cl, dl
xor dl, 1
mov ch, cl
xor al, 1
mov cl, dl
xor cl, al
and al, dl
and cl, dl
or al, ch
mov edx, ecx
and dl, al
xor al, cl
or al, dl
mov ecx, eax
mov edx, eax
xor cl, 1
or dl, cl
xor cl, al
xor dl, 1
and cl, al
xor cl, dl
mov al, cl
xor al, 1
and al, dl
mov edx, eax
xor al, cl
and dl, cl
or al, dl
mov ecx, eax
xor cl, 1
mov edx, ecx
and dl, al
mov dh, dl
xor dl, al
mov al, ah
xor dh, 1
xor al, 1
or dh, cl
xor dh, 1
or dh, dl
mov cl, dh
mov ch, dh
mov dl, dh
xor cl, 1
and ch, cl
xor dl, ch
xor ch, 1
or ch, cl
or cl, dh
xor ch, 1
or ch, dl
mov edx, eax
xor dl, ah
and dl, al
mov ebx, edx
mov bh, dl
xor bl, 1
mov dh, bl
and dh, dl
xor dh, 1
xor bh, dh
or dh, dl
mov dl, al
and al, ah
xor dh, 1
or dl, ah
xor al, 1
or dh, bh
mov bh, bl
xor bl, dl
and bh, dl
xor dh, dl
mov dl, ch
or bl, bh
xor dl, 1
mov bh, bl
xor bh, dh
xor dh, 1
or dh, bl
mov bl, ch
xor bh, 1
xor bl, dl
xor dh, 1
and bl, ch
or dh, bh
xor cl, bl
and bl, cl
xor bl, 1
mov bh, bl
or bl, cl
xor bh, cl
xor bl, 1
or bl, bh
mov bh, ch
mov cl, bl
and bh, dl
xor cl, dh
and bl, cl
and cl, dh
mov dh, bl
xor bl, cl
xor cl, 1
xor dh, 1
or cl, dh
mov dh, al
or al, ah
xor dh, ah
xor al, 1
xor cl, 1
or al, dh
mov dh, bh
xor bh, ch
or cl, bl
xor dh, 1
mov ch, al
or dh, dl
xor ch, 1
xor dh, 1
or dh, bh
and ch, dh
xor dh, 1
and dh, al
mov al, ah
and al, dl
xor dl, ah
or dh, ch
or dl, al
mov eax, edx
xor al, dh
xor dh, 1
or dh, dl
xor al, 1
xor dh, 1
or dh, al
mov eax, ecx
xor al, 1
mov dl, al
mov ah, al
and dl, cl
and ah, dl
xor dl, al
xor al, dh
or dl, ah
mov ah, dl
xor ah, 1
and ah, dh
xor dh, 1
and dl, dh
or dh, cl
mov ecx, 0x97ee86f5
xor dh, 1
or dl, ah
or dh, al
mov al, dh
xor al, dl
test dh, 1
cmovne esi, ecx
test dl, 1
cmove esi, ecx
test al, 1
mov eax, 0xc00d5b20
cmove esi, eax
mov eax, 0x542656ab
nop word [eax + eax]
cmp eax, 0x542656aa
jg 0x40b860
cmp eax, 0x97ee86f5
je 0x40b84a
cmp eax, 0xc00d5b20
jne 0x40b830
jmp 0x40c583
mov eax, 0x73a6f4c0
cmp eax, 0x542656aa
jle 0x40b837
nop word cs:[eax + eax]
cmp eax, 0x73a6f4c0
je 0x40bb60
cmp eax, 0x542656ab
jne 0x40b830
movzx ecx, byte [ebp - 0x12]
mov ah, byte [ebp - 0x11]
mov al, cl
xor al, 1
mov bh, al
mov ch, al
and bh, cl
mov dl, bh
xor ch, bh
and bh, al
xor dl, 1
mov byte [ebp - 0x50], ch
or dl, cl
or bh, byte [ebp - 0x50]
xor dl, 1
or dl, ch
mov byte [ebp - 0x4c], dl
mov dl, ah
xor dl, 1
mov ecx, edx
mov ch, dl
mov dh, dl
and cl, ah
xor dh, cl
and ch, cl
xor cl, 1
or ch, dh
mov byte [ebp - 0x5c], dh
or cl, ah
mov dh, ch
xor cl, 1
xor dh, 1
or cl, byte [ebp - 0x5c]
or dh, ch
mov ch, dh
and ah, dh
xor ch, 1
mov dh, ch
xor dh, dl
and dh, ch
and ch, dl
or ch, ah
xor dh, 1
xor ch, 1
mov dl, dh
xor dl, ch
or ch, dh
xor ch, 1
or ch, dl
mov dl, bh
xor bh, al
mov bl, ch
and dl, al
mov al, ch
mov dh, ch
mov byte [ebp - 0x58], ch
mov ch, byte [ebp - 0x4c]
xor bl, 1
or bh, dl
and al, bl
xor dh, bl
mov byte [ebp - 0x61], bh
mov bh, cl
or dh, al
mov byte [ebp - 0x50], al
xor bh, 1
mov al, dh
or bh, cl
xor al, 1
xor bh, 1
and dh, al
mov ah, al
and ah, dh
xor dh, al
mov al, ch
xor al, 1
or dh, ah
mov dl, al
mov byte [ebp - 0x60], al
mov eax, ecx
and al, bh
xor bh, cl
mov cl, ch
or bh, al
and cl, dl
mov al, bh
mov dl, cl
mov byte [ebp - 0x51], cl
xor al, 1
and bh, al
mov ah, al
and ah, bh
xor bh, al
mov al, ch
mov ch, byte [ebp - 0x61]
xor dl, al
or bh, ah
mov byte [ebp - 0x5c], dl
and dl, cl
mov ah, dl
mov cl, dl
xor ah, 1
and cl, ah
mov al, cl
xor cl, dl
xor al, 1
or al, ah
or ah, dl
xor al, 1
or al, cl
mov cl, ah
xor cl, al
xor al, 1
or al, ah
xor cl, 1
xor al, 1
or al, cl
mov cl, ch
or ch, al
xor cl, 1
xor al, 1
or al, cl
mov ah, ch
xor ah, al
or al, ch
xor al, 1
or al, ah
mov ah, dl
or ah, cl
xor cl, dl
xor ah, 1
mov dl, ah
and dl, cl
xor cl, ah
or cl, dl
mov dl, cl
mov ah, cl
xor dl, 1
and dl, cl
xor dl, 1
xor ah, dl
or dl, cl
mov ecx, eax
xor dl, 1
xor cl, 1
or dl, ah
mov ah, dl
and dl, cl
xor ah, 1
or cl, ah
and ah, al
or ah, dl
mov al, cl
xor ah, 1
xor al, ah
or ah, cl
mov cl, dh
xor ah, 1
and cl, bh
or ah, al
mov al, bh
xor bh, dh
xor dh, 1
xor al, 1
and al, dh
or cl, al
xor dh, cl
and dh, cl
mov al, dh
mov cl, dh
xor al, 1
and al, bh
xor bh, 1
xor cl, bh
and bh, dh
and cl, dh
or bh, al
mov al, cl
and al, bh
xor bh, cl
or bh, al
mov al, bh
xor al, 1
mov edx, eax
and bh, al
mov ecx, eax
and cl, bh
xor bh, al
and al, ah
xor dl, ah
or dl, al
or bh, cl
mov al, ah
xor al, bh
or bh, ah
xor bh, 1
or bh, al
mov al, bh
xor al, 1
mov ecx, eax
and cl, bh
mov ah, cl
xor cl, al
and ah, al
mov al, dl
or cl, ah
and al, bh
xor bh, dl
mov ah, byte [ebp - 0x51]
xor cl, dl
or bh, al
movzx edx, byte [ebp - 0x50]
mov al, cl
xor al, bh
or bh, cl
movzx ecx, byte [ebp - 0x4c]
xor bh, 1
or bh, al
mov al, bl
and al, dl
xor dl, bl
mov dh, bh
and ah, cl
or dl, al
xor dh, 1
or ah, byte [ebp - 0x5c]
mov al, ah
xor al, 1
and al, dl
xor dl, 1
and dl, ah
mov ah, byte [ebp - 0x58]
or dl, al
and ah, cl
movzx ecx, byte [ebp - 0x60]
mov al, cl
xor al, bl
and bl, cl
and al, cl
or bl, ah
xor al, 1
xor bl, 1
mov ecx, eax
xor cl, bl
or bl, al
xor bl, 1
or bl, cl
mov eax, ebx
xor al, 1
and bl, al
mov ecx, eax
and cl, bl
xor bl, al
or bl, cl
mov ecx, edx
mov eax, ebx
xor cl, 1
xor al, 1
and bl, cl
or cl, al
and al, dl
or al, bl
mov dl, cl
xor dl, al
xor al, 1
or al, cl
xor dl, 1
xor al, 1
or al, dl
mov ecx, eax
xor cl, 1
or cl, al
mov dl, cl
xor dl, 1
mov ah, dl
and ah, cl
mov ch, ah
xor ah, dl
and ch, dl
mov dl, al
or ah, ch
and dl, cl
xor cl, al
xor ah, al
or cl, dl
mov al, ah
xor al, cl
or cl, ah
mov ah, dh
xor cl, 1
or cl, al
mov al, cl
mov dl, cl
xor al, 1
or al, cl
xor dl, al
or al, cl
xor al, 1
or al, dl
mov ecx, eax
and ah, al
xor dh, al
xor cl, 1
or dh, ah
and al, cl
mov ah, al
xor al, cl
and ah, cl
mov cl, dh
or al, ah
xor cl, 1
xor al, bh
mov ebx, 0x73a6f4c0
mov ah, al
and al, dh
xor ah, 1
or dh, ah
and ah, cl
mov ecx, 0x73a6f4c0
or ah, al
mov al, dh
xor al, ah
test al, 1
cmovne ecx, edi
test ah, 1
mov eax, ecx
cmovne eax, ebx
test dh, 1
cmovne eax, ecx
cmp eax, 0x542656aa
jle 0x40b837
jmp 0x40b860
mov eax, esi
cmp eax, 0x542656aa
jle 0x40b837
jmp 0x40b860
mov ecx, dword [0x441f40]
lea eax, [ecx - 1]
imul eax, ecx
mov edx, eax
mov edi, eax
not edx
and edi, 0x9e4e9a94
mov ecx, edx
and ecx, 0x61b1656b
or edi, ecx
mov ecx, edx
and edx, 0x770f0448
mov esi, edi
xor edi, 0x304468
and ecx, 0x36fbe49
xor esi, 0x884e8010
and edi, 0x16305eec
and esi, 0xe9cfa112
or esi, edi
mov edi, eax
and edi, 0xfc9041b6
or edi, ecx
mov ecx, edi
xor edi, 0x2201408
xor ecx, 0xfc9041b6
and edi, 0xab0159e
mov ebx, ecx
and ecx, 0xfffffffe
and ebx, 0xf54fea61
or ebx, edi
mov edi, esi
xor esi, 0x16305eec
xor ebx, 0xf54fea60
xor edi, 0xe9cfa113
or ecx, ebx
mov ebx, ecx
not ebx
and ebx, edi
or edi, ecx
and ecx, esi
not edi
or ecx, ebx
mov esi, edi
and esi, ecx
xor ecx, edi
or ecx, esi
mov esi, eax
and eax, 0x88e0b336
and esi, 0x104881
mov edi, ecx
or esi, edx
and edi, 0x6ed6cbfe
xor esi, 0x104881
or eax, esi
mov edx, eax
and eax, 0x771f4cc9
not edx
and edx, 0x88e0b336
or eax, edx
mov edx, ecx
not edx
mov esi, edx
and esi, 0x91293401
or edi, esi
mov esi, eax
and eax, 0x58c41840
not esi
and esi, 0xa73be7bf
or eax, esi
mov esi, edi
xor edi, 0x1290000
xor esi, 0x26000136
or edi, 0x41000
and edi, 0x13fd288
and esi, 0xa6002537
or esi, edi
mov edi, edx
and edx, 0x3512d300
or edi, 0xa73be7bf
mov ebx, edi
and edi, 0x13fd288
not ebx
and ebx, 0x58c00840
or ebx, edi
xor ebx, esi
mov esi, ebx
not esi
and esi, eax
not eax
and eax, ebx
or eax, esi
mov esi, eax
and eax, 0xc53d7577
not esi
and esi, 0x3ac28a88
or eax, esi
mov esi, eax
xor eax, 0x3ac28a88
mov edi, eax
xor esi, 0x5105100
or eax, ecx
and ecx, 0xcaed2cff
and edi, 0xcaed2cff
and esi, 0x3512d300
or edx, ecx
not eax
or esi, edi
mov edi, 0x2ea40ed2
xor edx, esi
mov esi, dword [0x441f44]
or eax, edx
cmp eax, 0xffffffff
setne ah
sete ch
cmp esi, 9
mov dh, ah
setg dl
cmp esi, 0xa
mov esi, 0x4648a8d3
setl cl
mov ebx, edx
mov al, cl
and dh, cl
and bl, ch
or cl, ah
or al, ch
or bl, dh
xor cl, 1
mov dh, al
xor dh, bl
xor bl, 1
or bl, al
xor dh, 1
xor bl, 1
or bl, dh
mov al, bl
mov dh, bl
xor al, 1
and al, bl
xor al, 1
xor dh, al
or al, bl
xor al, 1
or al, dh
mov dh, dl
xor dl, ch
xor dh, ah
or cl, dl
mov ch, al
xor dh, 1
or dh, ah
mov ah, cl
xor ah, dh
and cl, dh
or cl, ah
xor ah, 1
mov dl, ah
or ah, cl
xor dl, cl
mov cl, al
xor ah, 1
xor cl, 1
or ah, dl
or ch, cl
xor ch, 1
mov dl, ch
or ch, al
xor dl, al
xor ch, 1
or ch, dl
mov dh, ch
xor dh, dl
xor dl, 1
or dl, ch
xor dh, 1
xor dl, 1
or dl, dh
xor dl, 1
mov ch, dl
or dl, ah
xor ch, ah
xor dl, 1
xor ch, 1
and ch, ah
mov dh, ch
and dh, dl
xor dl, ch
mov ch, cl
xor ch, ah
or dl, dh
and ch, cl
and cl, ah
xor ah, 1
and ah, al
xor ch, 1
or cl, ah
mov al, ch
xor cl, 1
xor al, cl
or cl, ch
xor cl, 1
or cl, al
xor cl, dl
and dl, cl
mov eax, ecx
xor al, dl
test al, 1
cmovne edi, esi
test cl, 1
mov ecx, 0x2ea40ed2
cmovne ecx, edi
test dl, 1
mov edx, dword [ebp - 0x80]
cmove ecx, edi
mov dword [ebp - 0x18], edx
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], ecx
mov ecx, dword [ebp - 0x44]
call fcn.0040f370
mov eax, dword [ebp - 0x34]
cmp dword [ebp - 0x78], 0
mov edx, dword [ebp - 0x1c]
mov ecx, 0xbb78442c
mov eax, 0x5e1b15da
cmove ecx, eax
mov dword [ebp - 0x80], edx
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
mov eax, dword [ebp - 0x24]
mov ecx, 0xbb78442c
mov dword [ebp - 0x80], eax
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
mov eax, dword [ebp - 0x18]
mov ecx, dword [0x441f40]
add eax, dword [ebp + 8]
mov dword [ebp - 0x30], eax
lea eax, [ecx - 1]
imul eax, ecx
mov ecx, eax
mov edx, eax
not ecx
and edx, 0x533d6011
mov esi, ecx
mov edi, ecx
and esi, eax
and edi, 0xd413a805
and eax, 0x2bec57fa
or eax, edi
xor eax, 0xa4d1f987
or eax, ecx
and ecx, 0xacc29fee
or edx, ecx
mov edi, eax
xor edx, 0x533d6011
or edi, 0xb6965714
mov ecx, edx
and ecx, esi
xor esi, edx
or esi, ecx
mov edx, esi
and esi, 0xc8498292
not edx
mov ecx, edx
and edx, 0x70c25182
and ecx, 0x37b67d6d
or ecx, esi
xor ecx, 0xb88bd310
or edx, ecx
mov ecx, eax
xor ecx, 0x4969a8eb
mov esi, edx
mov ebx, edx
and esi, eax
and ecx, eax
xor eax, edx
not edx
and ebx, 0xb6965714
and edx, 0x4969a8eb
mov dword [ebp - 0x4c], esi
or edx, ebx
mov ebx, ecx
and ecx, 0xf5fa6e3
or eax, dword [ebp - 0x4c]
not ebx
mov esi, ebx
or ebx, edi
and esi, 0xf0a0591c
not ebx
or ecx, esi
mov esi, edi
and edi, 0xf0a0591c
not esi
and esi, 0x949a0e3
or esi, edi
xor esi, ecx
mov ecx, edx
or ebx, esi
not ecx
and ecx, ebx
not ebx
and ebx, edx
or ebx, ecx
mov ecx, eax
and eax, 0xba263b73
not ecx
and ecx, 0x45d9c48c
or eax, ecx
mov ecx, ebx
xor eax, 0xba263b73
and ecx, eax
xor eax, ebx
or eax, ecx
mov ecx, eax
mov edx, eax
and eax, 0x8f3dae7d
not ecx
and edx, 0x20801000
and ecx, 0x50424182
or edx, ecx
xor edx, 0x20801000
or eax, edx
mov ecx, eax
mov edx, eax
and eax, 0x64c8e61b
not ecx
and edx, 0xc8c47717
mov esi, ecx
and esi, 0x9b3719e4
or eax, esi
xor eax, 0xa4053e8
or eax, ecx
and ecx, 0x373b88e8
or edx, ecx
mov ecx, edx
xor edx, 0x35098080
xor ecx, 0x8804110
and edx, 0xf54db687
and ecx, 0xab24978
or ecx, edx
mov esi, ecx
xor ecx, 0xab24978
xor esi, 0xf54db687
mov edi, ecx
mov edx, esi
and edi, 0x3a737362
and edx, 0xc58c8c9d
or edi, edx
mov edx, ecx
and ecx, 1
xor edi, 0x54fbc691
and edx, 0x91774a0c
or edx, edi
mov edi, edx
and edx, 0xcac0c2dd
not edi
mov ebx, edi
xor ebx, eax
and ebx, edi
and edi, 0x353f3d22
or edi, edx
mov edx, eax
and eax, 0xcac0c2dd
not edx
and edx, 0x353f3d22
or edx, eax
mov eax, ebx
xor edx, edi
and eax, edx
xor edx, ebx
or edx, eax
mov eax, edx
or edx, 0x883008
not eax
and edx, 0xffaa7049
mov edi, eax
and eax, 0x148830
or edi, 0xff36c871
or eax, edx
mov edx, edi
and edi, 0xffaa7049
not edx
and edx, 0x410786
or edx, edi
mov edi, esi
and esi, 0xfffffffe
and edi, 1
or esi, ecx
xor edx, eax
mov ecx, edi
mov eax, edx
and edx, 0x99865b
and ecx, esi
xor esi, edi
not eax
or esi, ecx
and eax, 0xff6679a4
mov ecx, esi
or edx, eax
xor ecx, 0xb429d494
mov eax, edx
xor edx, 0x6ed80427
and ecx, esi
not esi
xor eax, 0x80259a90
and esi, 0xb429d494
mov ebx, eax
mov edi, esi
and ebx, 0xeca59e93
and edi, ecx
xor ecx, esi
or ecx, edi
mov esi, ecx
and ecx, 0xb429d494
not esi
and esi, 0x4bd62b6b
or ecx, esi
mov esi, ecx
and ecx, 0xcce02407
not esi
mov edi, esi
and edi, 0x331fdbf8
or ecx, edi
xor ecx, 0xcce02407
or ecx, esi
mov esi, edx
or edx, 0xb94b235
and esi, 0x135a616c
mov eax, ecx
or ebx, esi
not eax
mov dword [ebp - 0x4c], ebx
xor ebx, 0x135a616c
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x58], ebx
or ebx, 0xf46b4dca
mov edi, ebx
and ebx, 0xa41dfe62
not edi
and edi, 0xb800015
or edi, ebx
mov ebx, edx
and edx, 0xa41dfe62
not ebx
and ebx, 0x50620188
or ebx, edx
mov edx, eax
or edx, 0xf46b4dca
xor ebx, edi
mov edi, edx
mov esi, edx
not edi
and esi, 0x97418698
and edi, 0x8943025
or edi, esi
mov esi, ecx
and ecx, 0x2e446661
xor esi, 0xf46b4dca
and esi, eax
mov eax, esi
and esi, 0x68be7967
not eax
or edx, eax
and eax, 0x97418698
or esi, eax
mov eax, ebx
not edx
and ebx, 0xb7fac194
not eax
xor esi, edi
or edx, esi
and eax, 0x48053e6b
mov esi, dword [ebp - 0x4c]
or ebx, eax
mov eax, edx
and edx, 0xb7fac194
not eax
and eax, 0x48053e6b
or edx, eax
xor esi, 0x2c040601
xor edx, ebx
mov ebx, dword [ebp - 0x58]
and esi, 0x2e446661
mov edi, edx
and edx, 0xb6f6f53e
not edi
mov eax, ebx
and eax, 0xd1bb999e
or esi, eax
mov eax, dword [ebp - 0x50]
or ebx, eax
and eax, 0xd1bb999e
or ecx, eax
not ebx
xor ecx, esi
mov esi, edi
or ebx, ecx
and esi, 0x49090ac1
mov eax, ebx
and ebx, 0xa27b5180
or edx, esi
not eax
and eax, 0x5d84ae7f
or ebx, eax
mov eax, ebx
xor ebx, 0x5d84ae7f
xor eax, 0xa2725100
or edi, ebx
and ebx, 0x49090ac1
and eax, 0xb6f6f53e
not edi
or eax, ebx
xor eax, edx
or edi, eax
mov eax, edi
mov esi, edi
not eax
xor esi, 0x6ddbbaa0
mov edx, eax
and esi, edi
and edi, 0xffcdbd7
and edx, 0xf0032428
or edi, edx
not edi
or edi, eax
and eax, 0x6ddbbaa0
mov edx, eax
mov ecx, edi
and edx, esi
xor esi, eax
not ecx
or esi, edx
mov edx, edi
and ecx, 0x6e45ef66
or edi, 0x5cecb428
mov eax, esi
and esi, 0xa0022420
and edx, 0x91ba1099
not eax
or ecx, edx
and eax, 0x50010008
mov dword [ebp - 0x4c], ecx
or esi, eax
mov eax, esi
mov dword [ebp - 0x58], esi
xor esi, 0x90012028
xor eax, 0xc0010400
mov ecx, eax
and esi, eax
or ecx, 0xa3134bd7
mov edx, ecx
mov ebx, ecx
not edx
and ebx, 0xb2136605
and edx, 0x4cc49028
or edx, ebx
mov ebx, esi
and esi, 0x40000028
not ebx
or ecx, ebx
and ebx, 0xb23b6605
or esi, ebx
mov ebx, dword [ebp - 0x4c]
not ecx
xor esi, edx
or ecx, esi
mov dword [ebp - 0x50], ecx
mov edx, ebx
xor ebx, 0xcd56a4b1
xor edx, 0x6e45ef66
and ebx, edx
and edx, 0xe5ebe8b
mov esi, ebx
and ebx, 0x493cc0d7
not esi
mov ecx, esi
or esi, edi
and ecx, 0xb6c33f28
not esi
or ebx, ecx
mov ecx, edi
and edi, 0xb6c33f28
not ecx
and ecx, 0x11040d7
or ecx, edi
mov edi, dword [ebp - 0x50]
xor ecx, ebx
or esi, ecx
mov ecx, edi
not ecx
and ecx, esi
not esi
and esi, edi
mov edi, dword [ebp - 0x58]
or esi, ecx
mov ecx, eax
and ecx, 0xf0010020
xor edi, 0xe5eba8b
and edi, 0xe5ebe8b
or edi, ecx
mov ecx, dword [ebp - 0x4c]
xor ecx, 0x91ba1099
or eax, ecx
and ecx, 0xf1a14174
or edx, ecx
not eax
xor edx, edi
or eax, edx
mov ecx, eax
and eax, 0x3daefa3c
not ecx
and ecx, 0xc25105c3
or eax, ecx
mov ecx, esi
xor eax, 0x3daefa3c
and ecx, eax
xor eax, esi
or eax, ecx
mov ecx, eax
mov edx, eax
and eax, 0xf0032428
not ecx
and edx, 0xc98c157
and ecx, 0x3641a80
or edx, ecx
xor edx, 0xc98c157
or eax, edx
mov ecx, eax
or eax, 0xf638a82
not ecx
mov esi, eax
and eax, 0xdb41b4d4
or ecx, 0xf09c757d
not esi
mov edx, ecx
and esi, 0x209c4129
and ecx, 0xdb41b4d4
not edx
or esi, eax
and edx, 0x4220a02
or edx, ecx
xor edx, esi
mov eax, edx
and edx, 0x4a98cbc4
not eax
and eax, 0xb567343b
or edx, eax
mov eax, edx
mov esi, edx
xor edx, 0xf9873c1a
xor eax, 0xba04beb9
xor esi, 0x45fb4146
mov ecx, eax
and edx, esi
and eax, 0x2d934b22
and ecx, 0xbc7c7d5c
mov edi, edx
and edi, ecx
xor ecx, edx
or ecx, edi
mov edi, dword [0x441f44]
mov edx, ecx
and ecx, 0xbc7c7d5c
not edx
and edx, 0x438382a3
or ecx, edx
mov edx, esi
and edx, 0xd26cb4dd
or edx, eax
mov eax, ecx
and ecx, 0xe234d1ea
xor edx, 0xd26cb4dd
not eax
or edx, esi
mov esi, eax
and esi, 0x1dcb2e15
or eax, edx
or ecx, esi
mov esi, edx
and edx, 0x1dcb2e15
not eax
not esi
and esi, 0xe234d1ea
or esi, edx
xor esi, ecx
or eax, esi
mov ecx, eax
not ecx
mov edx, ecx
and ecx, eax
and eax, 0x927e60b8
and edx, 0x6d819f47
or eax, edx
mov edx, eax
xor eax, 0x6d819f47
xor edx, 0x800220b0
mov esi, eax
and esi, 0x737cc448
and edx, 0x8c833bb7
or edx, esi
mov esi, ecx
and ecx, 0x8c833bb7
not esi
or eax, esi
and esi, 0x737cc448
or ecx, esi
not eax
xor ecx, edx
or eax, ecx
setne cl
sete dl
cmp edi, 9
setg al
cmp edi, 0xa
mov dh, cl
setl ah
mov ch, ah
and dh, ah
xor cl, ah
or ah, dl
xor ch, dl
mov bl, ah
or cl, dh
xor bl, ch
xor ch, 1
or ch, ah
xor bl, 1
xor ch, 1
or ch, bl
mov bl, ch
xor bl, 1
mov ah, bl
and ah, ch
xor bl, ah
xor ah, 1
or ah, ch
mov ch, al
xor al, dl
and ch, dl
xor ah, 1
or al, ch
or ah, bl
mov edx, eax
mov dh, ah
not dl
xor dh, 1
and dl, cl
xor cl, 1
mov ch, cl
xor ch, al
and al, cl
and ch, cl
or al, dl
mov dl, dh
mov cl, ch
and cl, al
xor al, ch
or al, cl
mov cl, dh
xor dh, al
xor dh, 1
and dh, al
xor al, 1
and dl, al
xor cl, al
xor al, ah
xor al, 1
or cl, dl
and al, ah
mov ah, dh
mov dl, cl
mov ch, cl
and ah, al
xor al, dh
xor dl, 1
or al, ah
and dl, cl
mov ah, al
and ch, dl
xor dl, cl
xor ah, 1
or dl, ch
and al, ah
mov ch, ah
and ch, al
xor al, ah
or al, ch
mov ch, dl
xor ch, 1
and ch, al
xor al, 1
and al, dl
mov edx, ecx
and dl, ah
xor ah, cl
or al, ch
or ah, dl
mov edx, 0x45f03f6e
mov cl, ah
xor cl, al
test cl, 1
mov ecx, 0x4648a8d3
cmovne edx, ecx
test ah, 1
mov ecx, 0x45f03f6e
cmovne ecx, edx
test al, 1
cmove ecx, edx
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
push 0x235
push dword [ebp - 0x44]
call fcn.00402a80
add esp, 8
cmp eax, dword [ebp + 0xc]
mov ecx, 0x5e9b3f10
mov eax, 0xbf879f6
cmove ecx, eax
cmp ecx, 0x2ea40ed1
jg 0x40a758
jmp 0x40a7c0
mov esi, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00423cc3
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret