Function at 0x401000
Capabilities:
Authenticate hmac
Parse pe header

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x250
mov eax, dword [0x4d04b0]
xor ebp, ebp
xor eax, esp
mov dword [esp + 0x24c], eax
lea eax, [esp + 0x14c]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
lea eax, [esp + 0x4c]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
mov eax, 0xbbe50bb
cmp eax, 0xbbe50ba
jg 0x4032bb
jmp 0x403360
mov eax, dword [esp + 0x40]
mov dword [esp + 0x20], esi
lea ecx, [eax + 1]
sar ecx, 0x1f
shr ecx, 0x18
lea ecx, [ecx + eax + 1]
and ecx, 0xffffff00
neg ecx
lea edx, [eax + ecx + 1]
movzx ecx, byte [esp + edx + 0x14c]
mov esi, dword [esp + 0x48]
mov dword [esp + 0x1c], edx
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], ebp
add esi, ecx
mov eax, esi
sar eax, 0x1f
shr eax, 0x18
add eax, esi
and eax, 0xffffff00
sub esi, eax
mov al, byte [esp + esi + 0x14c]
mov dword [esp + 0x18], esi
mov byte [esp + edx + 0x14c], al
mov byte [esp + esi + 0x14c], cl
movzx eax, byte [esp + edx + 0x14c]
add eax, ecx
mov ecx, eax
mov edx, eax
not ecx
and edx, 0x1b
mov esi, ecx
mov edi, ecx
and ecx, 0xc8736ebd
and esi, 0x6e2f75e4
and edi, 0x402040c1
or edx, esi
mov esi, edx
and edx, 0x6e2f75e4
not esi
and esi, 0x91d08a1b
or edx, esi
mov esi, edx
and edx, 0x14a53a54
not esi
and esi, 0x6a0a45ab
or edx, esi
mov esi, edx
xor edx, 0xd58579ab
xor esi, 0x200254
and esi, 0xc12043ff
or edx, esi
mov esi, eax
and eax, 0x142
and esi, 0x13e
mov ebx, edx
or eax, ecx
or edi, esi
mov esi, edx
and edx, 0xfbf35812
mov ecx, eax
and eax, 0x801167e5
xor edi, 0x8100033e
not esi
not ecx
or edi, 0x3edfbc00
and esi, 0x40ca7ed
and ecx, 0x101a
mov ebp, edi
or ebx, edi
and edi, 0xfbf35812
or esi, edx
or eax, ecx
not ebp
not ebx
and ebp, 0x1ed
mov edx, ebx
or ebp, edi
xor ebp, esi
and edx, ebp
xor ebp, ebx
or ebp, edx
mov esi, ebp
mov edx, ebp
xor esi, 0x9d78fdfa
and edx, 0x9940d150
and esi, ebp
not ebp
and ebp, 0x4382caa
or edx, ebp
mov edi, edx
xor edx, 0x66bf2eaf
xor edi, 0x99400010
mov ebx, edx
and ebx, 0x38f7cf
and edi, 0x9d400830
or edi, ebx
mov ebx, esi
and esi, 0xffc70830
not ebx
or edx, ebx
and ebx, 0x38f7cf
or esi, ebx
not edx
xor esi, edi
or edx, esi
mov esi, edx
and edx, 0xa3a741fa
not esi
and esi, 0x5c58be05
or edx, esi
mov edi, edx
mov esi, edx
xor edi, 0x4afd2f02
and esi, 0xca211d3d
and edi, edx
not edx
and edx, 0x35dee2c2
or esi, edx
mov edx, esi
xor esi, 0xdc2202
or esi, 0xb502d0fd
xor edx, 0x210000
mov ebx, esi
and edx, 0x692002
and ebx, 0x5f961f81
or edx, ebx
mov ebx, edi
and edi, 0xa069e07e
not ebx
or esi, ebx
and ebx, 0x5f961f81
or edi, ebx
not esi
xor edi, edx
or esi, edi
mov edx, esi
and esi, 0x4afd2f02
not edx
and edx, 0xb502d0fd
or esi, edx
mov edx, esi
mov edi, esi
and esi, 0x27ede752
not edx
and edi, 0xd81218ad
and edx, 0xd81218ad
or edx, esi
mov esi, edi
and esi, edx
xor edx, edi
or edx, esi
mov esi, edx
and edx, 0x8a646c04
not esi
mov edi, esi
or esi, 0xdb776ebe
and edi, 0x511302ba
or edx, edi
mov edi, edx
xor edx, 0x608b11e0
xor edi, 0x80044c00
and edx, 0x6aeb31e4
and edi, 0x91144e1a
or edi, edx
mov edx, esi
and esi, 0x6aeb31e4
not edx
and edx, 0x4008001
or edx, esi
xor edx, edi
mov esi, edx
and edx, 0xdb776ebe
not esi
and esi, 0x24889141
or edx, esi
mov esi, edx
and edx, 0xe079c10c
not esi
and esi, 0x1f863ef3
or esi, edx
mov edx, esi
xor esi, 0x98228d2
xor edx, 0xc018010c
and esi, 0x29e3e8d2
and edx, 0xd61c172d
or edx, esi
mov esi, eax
xor eax, 0x801176a7
mov ecx, eax
xor esi, 0x612c0940
and eax, 0x8536438
or ecx, 0xd81218ad
and esi, 0xe12c1bc7
mov edi, ecx
or esi, eax
mov eax, ecx
not edi
and eax, 0x480270b2
and edi, 0x4e58740
or edi, eax
mov eax, esi
xor esi, 0xc6c1fc95
xor eax, 0x10340348
or ecx, esi
and esi, 0x6b0a70b2
and eax, 0x94f58f4d
not ecx
or eax, esi
mov esi, edx
xor eax, edi
xor esi, 0xd61c172d
or ecx, eax
mov eax, ecx
or ecx, 0x1a5fbb86
not eax
mov ebx, ecx
and ecx, 0x28afe9e7
or eax, 0xe5a04479
not ebx
mov edi, eax
and ebx, 0xc5000418
and eax, 0x28afe9e7
not edi
or ebx, ecx
and edi, 0x12501200
or edi, eax
xor edi, ebx
mov ebx, edx
xor edx, 0x76328afc
mov eax, edi
and edi, 0x2ef809db
xor ebx, 0x29e3e8d2
and edx, esi
not eax
and eax, 0xd107f624
or edi, eax
mov eax, esi
or esi, 0x5fd1622e
mov ecx, edi
xor edi, 0x34a7b25d
mov ebp, edi
xor ecx, 0xcb584da2
and edi, 0xa02e9dd1
and eax, ecx
and ebp, ebx
and ecx, 0x5fd1622e
or eax, ebp
or ecx, edi
mov edi, esi
not eax
not edi
or eax, ebx
mov ebx, esi
and edi, 0x80060150
and ebx, 0x77a89ca1
or edi, ebx
mov ebx, edx
and edx, 0x8857635e
not ebx
or esi, ebx
and ebx, 0x77a89ca1
or edx, ebx
not esi
xor edx, edi
or esi, edx
mov edx, esi
and esi, 0x6dc7496
not edx
and edx, 0xf9238b69
or esi, edx
mov edx, ecx
and ecx, 0x6dc7496
not edx
and edx, 0xf9238b69
or ecx, edx
mov edx, eax
xor ecx, esi
xor edx, 0x11c49042
mov esi, ecx
and edx, eax
mov ebp, ecx
xor esi, 0xee3b6fbd
mov ebx, edx
and ebp, 0x9c773d90
and edx, 0x76131a9a
and esi, ecx
not ecx
not ebx
and ecx, 0x6388c26f
or ebp, ecx
mov ecx, ebx
mov edi, ebp
and ecx, 0x89ece565
xor ebp, 0x8db3add2
or edx, ecx
xor edi, 0x9c773d90
mov ecx, eax
and ecx, edi
and ebp, edi
xor edi, eax
mov dword [esp], ecx
mov ecx, eax
or ecx, 0xee3b6fbd
or edi, dword [esp]
mov eax, ecx
or ebx, ecx
and ecx, 0x89ece565
not eax
not ebx
and eax, 0x10001002
or eax, ecx
xor eax, edx
or ebx, eax
mov eax, ebp
and eax, esi
xor esi, ebp
or esi, eax
mov eax, ebx
not eax
and eax, esi
not esi
and esi, ebx
or esi, eax
mov eax, edi
mov edx, esi
not eax
and esi, 0xda207fd2
not edx
and eax, 0xda207fd2
mov ecx, edx
or edx, edi
and edi, 0x25df802d
and ecx, 0x25df802d
or eax, edi
not edx
or esi, ecx
xor eax, esi
or edx, eax
mov esi, edx
mov eax, edx
and edx, 0xeaa0ad74
not esi
and eax, 0x265102f6
mov ecx, esi
and esi, 0x155f528b
or edx, esi
and ecx, 0xd9aefd09
mov esi, edx
xor edx, 0x105a1089
or eax, ecx
xor esi, 0xeaa0ad74
and edx, 0x725a3ded
mov ecx, eax
xor eax, 0xb0bdeed8
mov edi, esi
and esi, 0x96ecec2e
xor ecx, 0x49021101
and edi, 0x8da5c212
and ecx, 0x691313d1
or edi, edx
or eax, ecx
xor edi, 0xe4b6d1c3
mov ecx, eax
and eax, 0x69339cc9
or esi, edi
not ecx
mov edx, esi
and esi, 0x16fa88f8
mov edi, ecx
not edx
and edx, 0xe9057707
or esi, edx
mov edx, esi
xor esi, 0xe9057707
xor edi, esi
xor edx, 0x16c80030
and esi, 0x69339cc9
and edx, 0x96cc6336
and edi, ecx
and ecx, 0x96cc6336
or ecx, eax
or edx, esi
mov eax, edi
xor edx, ecx
and eax, edx
xor edx, edi
or edx, eax
mov eax, edx
mov ecx, edx
xor eax, 0xdc421ec0
and ecx, 0x7a436e7b
and eax, edx
not edx
and edx, 0x85bc9184
mov esi, eax
and eax, 0x2587d3c
or ecx, edx
not esi
mov edx, ecx
xor ecx, 0x84001080
or ecx, 0x23bde13f
xor edx, 0x400c00
mov edi, ecx
or ecx, esi
and esi, 0xfda782c3
and edx, 0x401c00
and edi, 0xfda782c3
or eax, esi
not ecx
or edx, edi
xor eax, edx
or ecx, eax
mov eax, ecx
and ecx, 0x6140b571
not eax
and eax, 0x9ebf4a8e
or ecx, eax
mov eax, ecx
mov edx, ecx
xor ecx, 0xc03a032
xor eax, 0xc03a0cd
xor edx, 0xf3fc5f32
mov esi, edx
mov edi, eax
and ecx, eax
and esi, 0x98
and edi, 0x67
or edi, esi
xor edi, 0x67
mov esi, edi
and esi, ecx
xor ecx, edi
mov edi, eax
or ecx, esi
mov esi, edx
and edi, 0xc84ec6e5
and esi, 0x37b1391a
or edi, esi
mov esi, ecx
and ecx, 0x5e68b652
not esi
mov ebx, esi
and ebx, 0xa19749ad
or ecx, ebx
mov ebx, edi
xor edi, 0x21910908
xor ebx, 0x48488640
and edi, 0xa19749ad
and ebx, 0x5e68b652
or ebx, edi
xor ebx, ecx
mov ecx, eax
and eax, 0x5ae9d5fe
not ebx
and ecx, 0xea1d8b43
or ebx, esi
mov esi, edx
and edx, 0xa5162a01
and esi, 0x15e274bc
or eax, edx
or esi, ecx
mov edx, eax
xor eax, 0x20020001
mov edi, esi
xor esi, 0x5201408
xor edx, 0x5ae9d5fe
and eax, 0x6a434109
xor edi, 0xea048903
and esi, 0x5391648
and edi, 0xfac6e9b7
or edi, esi
mov ecx, edi
xor edi, 0x5381240
xor ecx, 0xfac6e9b7
and edi, 0xa53eba63
mov esi, ecx
and ecx, 0x7622efe7
and esi, 0x5ac1459c
or esi, edi
xor esi, 0xd31c5584
or ecx, esi
mov esi, edx
and edx, 0x89dd1018
and esi, 0x95bcbef6
mov edi, ecx
and ecx, 0xc5d28546
or esi, eax
not edi
mov eax, ebx
xor esi, 0xe39e5111
not eax
or edx, esi
mov esi, edi
or eax, 0x8f730107
xor esi, edx
and esi, edi
and edi, 0x3a2d7ab9
or edi, ecx
mov ecx, edx
and edx, 0xc5d28546
not ecx
and ecx, 0x3a2d7ab9
or ecx, edx
mov edx, esi
xor ecx, edi
and edx, ecx
xor ecx, esi
or ecx, edx
mov esi, ecx
or ecx, 0x88d900c0
not esi
and ecx, 0x9afb28d0
mov edi, esi
and esi, 0x6400c708
or edi, 0x7622ef18
or esi, ecx
mov ecx, edi
and edi, 0x9afb28d0
not ecx
and ecx, 0x1041027
or ecx, edi
mov edi, ebx
or edi, 0x708cfef8
xor ecx, esi
mov esi, eax
and eax, 0x5cb9f1f9
mov edx, edi
not esi
and edi, 0x5cb9f1f9
mov dword [esp], ecx
not edx
and esi, 0x20040e00
and edx, 0x83420006
or esi, eax
or edx, edi
mov edi, ecx
xor edx, esi
not edi
mov eax, edx
and edx, 0x708cfef8
mov dword [esp + 0xc], edi
not eax
and eax, 0x8f730107
or edx, eax
mov eax, edx
mov esi, edx
not eax
and esi, 0x50ca8f08
mov dword [esp + 4], eax
and eax, 0xaf3570f7
or esi, eax
mov ebp, esi
xor esi, 0x3316077
xor ebp, 0x50ca8f08
and esi, 0x13bbe87f
mov eax, ebp
and ebp, 0xe490e6fc
and eax, 0xec441780
or eax, esi
mov esi, edi
xor eax, 0xf72b0e83
and esi, 0x200329d5
or ebp, eax
mov eax, ebp
and ebp, 0xce3892d3
not eax
and eax, 0x31c76d2c
or ebp, eax
mov eax, ebx
xor ebx, 0x1b6f1903
and eax, 0x1b6f1903
or ebx, eax
mov eax, ecx
mov ecx, edi
mov edi, dword [esp]
and eax, 0xdffcd62a
or esi, eax
mov eax, ecx
and eax, 0x8754cbce
xor esi, 0xc493cf29
and edi, 0x78ab3431
or esi, dword [esp]
or eax, edi
mov edi, ecx
xor eax, 0x63c42d32
and edi, 0x1b6f1903
or edi, eax
mov eax, ebp
xor ebp, 0x31c76d2c
xor eax, 0x42289283
mov ecx, ebp
and ebp, 0x9d506070
and eax, 0x62af9f8f
or ecx, ebx
or eax, ebp
mov ebp, ebx
and ebx, 0x9d506070
not ebp
and ebp, 0x62af9f8f
or ebp, ebx
mov ebx, ecx
xor ebp, eax
mov eax, ecx
and ebx, 0xd4be75eb
not eax
and eax, 0x2b418a14
or eax, ebx
mov ebx, ebp
and ebp, 0x2b418a14
not ebx
or ecx, ebx
and ebx, 0xd4be75eb
or ebp, ebx
not ecx
xor ebp, eax
mov eax, esi
and esi, 0x530d32b0
not eax
or ecx, ebp
mov ebp, edi
mov ebx, eax
not ebp
xor ebx, edi
and edi, 0x530d32b0
and ebp, 0xacf2cd4f
and ebx, eax
and eax, 0xacf2cd4f
or ebp, edi
mov edi, ecx
or eax, esi
xor edi, 0x3d3eadc1
mov esi, ecx
xor ebp, eax
mov eax, ebx
and edi, ecx
not ecx
and esi, 0xfac7c32d
and eax, ebp
xor ebp, ebx
and ecx, 0x5383cd2
or ebp, eax
or esi, ecx
mov eax, ebp
mov ecx, esi
mov ebx, ebp
xor esi, 0x5382cc0
xor eax, 0x3d3eadc1
and ebx, 0x211c8401
or esi, 0xc2c1523e
xor ecx, 0x8020100
and eax, ebp
not ebp
and ecx, 0xd1225c0
and ebp, 0x1c2229c0
or ebx, ebp
mov ebp, esi
and ebp, 0xb2acda23
or ecx, ebp
mov ebp, edi
and edi, 0x4d5325dc
not ebp
or esi, ebp
and ebp, 0xb2acda23
or edi, ebp
not esi
xor edi, ecx
mov ecx, ebx
xor ebx, 0xdee37bfe
xor ecx, 0x1040001
or esi, edi
mov edi, ebx
and edi, 0xf479f48c
and ecx, 0x9060941
or ecx, edi
mov edi, eax
and eax, 0xb860b73
not edi
or ebx, edi
and edi, 0xf479f48c
or eax, edi
not ebx
xor eax, ecx
mov ecx, dword [esp + 4]
or ebx, eax
mov eax, esi
and esi, 0xffa54b43
not eax
and eax, 0x5ab4bc
or esi, eax
mov eax, ebx
and ebx, 0xffa54b43
and ecx, 0x1006114
not eax
and eax, 0x5ab4bc
or ebx, eax
mov eax, edx
xor ebx, esi
mov esi, dword [esp]
xor eax, esi
and esi, 0x1006114
and eax, edx
and edx, 0xfeff9eeb
or edx, ecx
mov ecx, esi
mov esi, dword [esp + 0xc]
and esi, 0xfeff9eeb
or esi, ecx
xor esi, edx
mov edx, eax
and eax, 0xddb95d0b
not edx
mov ecx, edx
and ecx, 0x2246a2f4
or eax, ecx
mov ecx, esi
and esi, 0xddb95d0b
not ecx
or edx, ecx
and ecx, 0x2246a2f4
or esi, ecx
not edx
xor esi, eax
or edx, esi
mov esi, ebx
or ebx, 0x82ba39ea
mov eax, edx
mov edi, ebx
not esi
and ebx, 0xc282b000
not eax
not edi
and edx, eax
mov ecx, eax
and edi, 0x3d454615
and ecx, edx
xor edx, eax
or edi, ebx
mov ebx, esi
or edx, ecx
mov eax, edx
and edx, 0x9d330c12
not eax
mov ecx, eax
and ecx, 0x62ccf3ed
or edx, ecx
xor edx, 0x9d330c12
or edx, eax
mov eax, edx
mov ecx, edx
or edx, 0x7d45c615
not eax
and ecx, 0x4db245de
and eax, 0xb24dba21
or eax, ecx
mov ecx, eax
xor eax, 0x30f783cb
xor ecx, 0xb24dba21
and eax, ecx
and ebx, ecx
xor ecx, esi
or esi, 0x7d45c615
mov ebp, esi
and esi, 0xc282b000
or ecx, ebx
not ebp
not ecx
and ebp, 0x3809ea
or ebp, esi
mov esi, eax
and eax, 0x338f76e3
not esi
xor ebp, edi
mov edi, esi
or esi, edx
and edi, 0xcc70891c
not esi
or eax, edi
mov edi, edx
and edx, 0xcc70891c
not edi
and edi, 0x28a30e2
or edi, edx
xor edi, eax
mov eax, ebp
or esi, edi
not eax
and eax, esi
not esi
and esi, ebp
or esi, eax
mov eax, esi
and eax, ecx
xor ecx, esi
or ecx, eax
mov edx, ecx
mov eax, ecx
or edx, 0x84ec8894
not eax
mov esi, edx
mov edi, eax
and edx, 0x374a513f
not esi
or edi, 0x7b13776b
and esi, 0x48112640
or esi, edx
mov edx, edi
and edi, 0x374a513f
not edx
and edx, 0x80a48880
or edx, edi
mov edi, ecx
and ecx, 0xa8c1f1f7
xor edx, esi
and edi, 0xfbc6b8d8
mov esi, edx
and edx, 0x7b13776b
not esi
and esi, 0x84ec8894
or edx, esi
mov esi, edx
and edx, 0xcabe7c43
not esi
and esi, 0x354183bc
or esi, edx
mov edx, eax
and edx, 0x4394727
or edx, edi
xor edx, 0x4394727
or edx, eax
and eax, 0x573e0e08
mov edi, edx
and edx, 0x684239cc
or ecx, eax
not edi
mov eax, ecx
and ecx, 0x573e0e08
and edi, 0x97bdc633
not eax
or edx, edi
mov edi, esi
xor esi, 0xcabe7c43
and eax, 0xa8c1f1f7
mov ebx, edx
xor edi, 0x354183bc
xor edx, 0x97bdc633
or ecx, eax
xor ebx, 0x684239cc
mov eax, ecx
and ebx, esi
mov esi, edi
xor eax, 0x171e4bbd
xor esi, edx
and edx, edi
and eax, ecx
and esi, edi
or edx, ebx
mov edi, esi
and edi, edx
xor edx, esi
or edx, edi
mov esi, edx
and edx, 0xc06dc90f
not esi
and esi, 0x3f9236f0
or esi, edx
mov edi, esi
xor esi, 0x3f9236f0
xor edi, 0xc06dc90f
mov ebx, esi
mov edx, edi
and ebx, 0xc2a42abf
and edi, 0x52ffe90e
and edx, 0x3d5bd540
or edx, ebx
mov ebx, edx
not edx
and ebx, 0x2a459efd
and edx, 0xd5ba6102
or edx, ebx
mov ebx, esi
and esi, 0xe8e1b442
and ebx, 0xad0016f1
or ebx, edi
xor ebx, 0xba1e5d4c
or esi, ebx
mov edi, esi
and esi, 0x7b07cc31
not edi
and edi, 0x84f833ce
or esi, edi
mov edi, edx
xor esi, 0x7b07cc31
and edi, esi
xor esi, edx
or esi, edi
mov edx, esi
and esi, 0xb4a09aaa
not edx
and edx, 0x4b5f6555
or esi, edx
mov edi, esi
xor esi, 0x4b5f6555
xor edi, 0x94a002a2
mov edx, esi
and edx, 0x2312b818
and edi, 0xdced47e7
or edi, edx
mov edx, ecx
and ecx, 0x171e4bbd
not edx
xor edi, 0xdced47e7
and edx, 0xe8e1b442
or edi, esi
or ecx, edx
mov edx, eax
mov esi, edi
mov dword [esp + 4], edi
and edx, ecx
xor ecx, eax
or ecx, edx
mov eax, ecx
and ecx, 0x13604f85
not eax
and eax, 0xec9fb07a
or ecx, eax
mov eax, ecx
xor ecx, 0xc993078
xor eax, 0x1600505
and ecx, 0x1e997af8
and eax, 0xe1668507
or eax, ecx
mov ecx, eax
xor eax, 0xe1660502
xor ecx, 0x14800808
and eax, 0xeb7f77f2
and ecx, 0x1480880d
or eax, ecx
mov ecx, eax
xor eax, 0x144772
xor ecx, 0x4000000
and eax, 0x1094cf7f
and ecx, 0xef6b3080
or ecx, eax
mov ebp, ecx
xor ecx, 0x1094cf7f
xor ebp, 0xef6b3080
mov eax, ecx
mov edx, ebp
and eax, 0xae2e83c8
and ebp, 0xf59c0aa5
and edx, 0x51d17c37
or edx, eax
mov eax, edx
xor edx, 0x84000108
xor eax, 0x40403003
or edx, 0x11a78204
and edx, 0x95a7c31c
and eax, 0x42403043
or eax, edx
mov edx, ecx
or edx, 0xc640715b
mov ebx, edx
and edx, 0x95a7c31c
not ebx
and ebx, 0x28180ca0
or ebx, edx
mov edx, edi
xor ebx, eax
not edx
mov eax, ebx
and ebx, 0x97c3576a
mov dword [esp], edx
and edx, 0x7f11f0df
not eax
and eax, 0x683ca895
or ebx, eax
mov eax, edi
and edi, 0x5574285c
and eax, 0x80ee0f20
mov dword [esp + 0xc], ebx
or eax, edx
mov edx, esi
mov esi, ebx
xor ebx, 0x4f70e6d
xor eax, 0x2a65d883
xor esi, 0xae7cd9ce
xor edx, 0x5574285c
mov dword [esp + 8], esi
and esi, 0xaa8bd7a3
or eax, dword [esp]
or edx, edi
or ebx, esi
mov esi, ecx
mov edi, edx
and edx, 0xc0b97607
and esi, 0xa63f55a
not edi
or ebp, esi
and edi, 0x3f4689f8
mov esi, eax
xor ebp, 0x5f17dd06
or edx, edi
xor ecx, ebp
not esi
and ecx, ebp
mov ebp, eax
and eax, 0x9c1049e5
and esi, 0x63efb61a
or esi, eax
mov eax, edx
xor edx, 0x3f4689f8
xor eax, 0x40a93602
or ebp, edx
and edx, 0x9c1049e5
and eax, 0x63efb61a
not ebp
or eax, edx
mov edx, ebp
xor eax, esi
mov esi, ecx
and ecx, 0x7101217
and edx, eax
xor eax, ebp
not esi
or eax, edx
mov edx, ebx
and ebx, 0xf8efede8
not edx
mov ebp, edx
xor ebp, esi
and esi, 0xf8efede8
and ebp, edx
and edx, 0x7101217
or ecx, esi
or edx, ebx
xor ecx, edx
mov edx, ebp
and edx, ecx
xor ecx, ebp
or ecx, edx
mov esi, ecx
and ecx, 0x202c4921
not esi
mov edx, esi
or esi, 0x253e4923
and edx, 0x5120002
mov edi, esi
and esi, 0xf264a802
or ecx, edx
mov edx, eax
not edi
xor edx, 0x253e4923
and edi, 0x88116dc
and edx, eax
not eax
or edi, esi
mov esi, dword [esp + 8]
and eax, 0x253e4923
mov ebx, eax
and ebx, edx
xor edx, eax
mov eax, ecx
xor ecx, 0xd240a002
xor eax, 0x84121
and ecx, 0xf264a802
or edx, ebx
and eax, 0x51a4121
or eax, ecx
mov ecx, dword [esp]
xor edi, eax
mov eax, edx
not eax
and eax, edi
not edi
and edi, edx
and ecx, 0x97c23ee9
or edi, eax
mov eax, dword [esp + 4]
mov edx, eax
xor edx, esi
and esi, 0x97c23ee9
and edx, eax
and eax, 0x683dc116
or eax, ecx
mov ecx, dword [esp + 0xc]
xor ecx, 0x40010010
and ecx, 0x683dc116
or ecx, esi
xor ecx, eax
mov eax, edx
and edx, 0x1715ae79
not eax
mov esi, eax
and esi, 0xe8ea5186
or edx, esi
mov esi, ecx
and ecx, 0x1715ae79
not esi
or eax, esi
and esi, 0xe8ea5186
or ecx, esi
not eax
xor ecx, edx
or eax, ecx
mov edx, eax
and eax, 0x3d2625ec
not edx
and edx, 0xc2d9da13
or eax, edx
mov edx, edi
mov ebx, eax
xor eax, 0xc288d011
not edx
xor ebx, 0x30022528
and eax, 0xcfacd0d5
and edx, 0xa6d61ade
and ebx, 0x30532f2a
or ebx, eax
mov eax, edi
and edi, 0xd905114e
and eax, 0x5929e521
mov ebp, ebx
mov dword [esp], ebx
xor ebx, 0xe9563e64
or eax, edx
xor ebp, 0x30532f2a
mov ecx, ebx
mov edx, eax
and ecx, ebp
xor eax, 0xa6d61ade
and ebp, 0xeb62a9ce
xor edx, 0x5929e521
mov dword [esp + 4], edx
and edx, 0x26faeeb1
or edi, edx
mov edx, ecx
and ecx, 0xd7961dce
not edx
mov esi, edx
and esi, 0x2869e231
or ecx, esi
mov esi, dword [esp]
xor esi, 0xcfacd0d5
and ebx, esi
mov dword [esp], esi
mov esi, ebx
and ebx, 0xd7961dce
not esi
or edx, esi
and esi, 0x2869e231
or ebx, esi
not edx
mov esi, dword [esp + 4]
xor ebx, ecx
mov ecx, edi
and edi, 0xd8edc4d0
not ecx
or edx, ebx
and ecx, 0x27123b2f
or edi, ecx
mov ecx, edx
and edx, 0xd8edc4d0
and esi, 0xeb62a9ce
not ecx
and ecx, 0x27123b2f
or edx, ecx
mov ecx, eax
and ecx, 0x149d5631
xor edx, edi
or esi, ecx
mov ecx, dword [esp]
or eax, ecx
and ecx, 0x149d5631
or ebp, ecx
not eax
xor ebp, esi
mov esi, edx
and edx, 0xe938bc80
or eax, ebp
not esi
mov ecx, eax
and eax, 0xc33e20f5
mov edi, esi
not ecx
and edi, 0x16c7437f
and ecx, 0x3cc1df0a
or edx, edi
or eax, ecx
mov ecx, eax
xor eax, 0x3cc1df0a
xor ecx, 0xc1382080
or esi, eax
and eax, 0x16c7437f
and ecx, 0xe938bc80
not esi
or ecx, eax
xor ecx, edx
or esi, ecx
mov ecx, esi
mov eax, esi
and esi, 0x55f21cd
not ecx
and eax, 0xc8365643
mov edx, ecx
and edx, 0x37c9a9bc
or edx, eax
mov eax, edx
xor edx, 0xdf281dfe
xor eax, 0x20c1a000
and eax, 0xe8e1b442
or edx, eax
mov eax, ecx
and eax, 0xfaa0de32
mov ebx, edx
mov edi, edx
or esi, eax
xor ebx, 0xb0bb3d32
xor esi, 0xedbe958f
xor ecx, esi
and ecx, esi
mov esi, ecx
mov eax, ecx
and ecx, 0xb0bb3d32
not esi
xor eax, 0x4f44c2cd
and eax, esi
and edi, esi
xor esi, edx
not edx
and ebx, edx
or edx, 0xb0bb3d32
mov dword [esp], eax
or esi, edi
mov ebp, edx
mov eax, edx
not ebp
and eax, 0xbfdcb3e3
and ebp, 0x4000400c
or ebp, eax
mov eax, ebx
and ebx, 0x40234c1c
not eax
or edx, eax
and eax, 0xbfdcb3e3
or ebx, eax
not edx
xor ebx, ebp
mov ebp, dword [esp + 0x28]
or edx, ebx
mov ebx, dword [esp]
mov eax, ebx
and eax, ecx
xor ecx, ebx
or ecx, eax
mov eax, edx
not eax
and eax, ecx
not ecx
and ecx, edx
or ecx, eax
mov eax, esi
and esi, 0x9940bf32
not eax
and eax, 0x66bf40cd
or esi, eax
mov eax, ecx
xor esi, 0x9940bf32
and eax, esi
xor esi, ecx
or esi, eax
mov ecx, esi
mov edx, esi
mov ebx, esi
not ecx
and edx, 0x2d7c7e55
mov eax, ecx
mov edi, ecx
and edi, 0xd28381aa
and eax, esi
or edi, edx
mov edx, eax
and eax, 0xd28381aa
not edx
or ebx, edx
and edx, 0x2d7c7e55
or eax, edx
not ebx
xor eax, edi
or ebx, eax
mov eax, ebx
and ebx, 0x9ff2d923
not eax
and eax, 0x600d26dc
or ebx, eax
mov eax, ebx
xor ebx, 0x90480
xor eax, 0x9ff2d923
and ebx, 0x1ed95da0
mov edx, eax
and edx, 0xe126a25f
or edx, ebx
mov ebx, ecx
xor edx, 0xe126a25f
and ebx, 0x7a061997
or edx, eax
mov eax, edx
and edx, 0xed0d05f9
not eax
and eax, 0x12f2fa06
or edx, eax
mov eax, edx
xor edx, 0x12021806
xor eax, 0xed0d05f9
and edx, 0x7a061997
mov edi, eax
xor edi, ecx
and ecx, 0x6b31559b
and edi, eax
and eax, 0x85f9e668
or eax, edx
mov edx, esi
and esi, 0x94ceaa64
and edx, 0x85f9e668
or esi, ecx
or edx, ebx
mov ecx, esi
xor esi, 0x62310511
xor edx, eax
mov eax, edi
xor ecx, 0x4ca2024
and esi, 0xf2358f51
and eax, edx
xor edx, edi
and ecx, 0xdca70ae
or edx, eax
or ecx, esi
mov eax, edx
and edx, 0xd557e698
mov esi, ecx
xor ecx, 0xdca70ae
not eax
xor esi, 0xf2358f51
mov edi, eax
or eax, 0xef29b9bd
and edi, 0x2aa81967
or edx, edi
mov edi, edx
xor edx, 0x28280105
xor edi, 0x45010098
or edx, 0xd24200
and edx, 0xa8fae305
and edi, 0x470118b8
or edi, edx
mov edx, eax
and eax, 0xa8fae305
not edx
and edx, 0x10040442
or edx, eax
xor edx, edi
mov eax, edx
and edx, 0xbb0995e
not eax
and eax, 0xf44f66a1
or edx, eax
mov eax, edx
xor edx, 0x1b66df1c
xor eax, 0xe49920e3
and edx, esi
mov edi, eax
xor edi, ecx
and ecx, eax
and edi, eax
or ecx, edx
mov eax, edi
mov edx, ecx
and edi, 0xa8370a6f
and ecx, 0xa8370a6f
not eax
not edx
mov esi, eax
or eax, edx
and edx, 0x57c8f590
and esi, 0x57c8f590
or ecx, edx
not eax
or edi, esi
xor ecx, edi
or eax, ecx
mov ecx, eax
not ecx
mov edx, ecx
and ecx, eax
and eax, 0x6ba2f17a
and edx, 0x945d0e85
mov esi, ecx
and ecx, 0x67e38b6
or eax, edx
not esi
mov edx, eax
xor eax, 0x945d0e85
mov edi, eax
xor edx, 0x2223032
or eax, esi
and esi, 0xf981c749
and edi, 0xf981c749
and edx, 0x67e38b6
or ecx, esi
not eax
mov esi, dword [esp + 0x264]
or edx, edi
mov edi, dword [esp + 0x24]
xor ecx, edx
or eax, ecx
mov ecx, eax
and eax, 0x9bd4c433
not ecx
mov edx, ecx
and edx, 0x642b3bcc
or eax, edx
xor eax, 0x9bd4c433
or eax, ecx
not eax
mov al, byte [esp + eax + 0x14c]
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x44]
mov ch, byte [esi + eax]
mov esi, eax
mov cl, ch
mov bl, ch
mov byte [esp + 0x17], ch
not cl
mov eax, ecx
mov ah, cl
mov cl, ch
and al, 0xf7
and cl, 8
mov dl, ah
mov dh, ah
mov ah, ch
or cl, al
and dl, ch
and ch, 0x49
mov byte [esp + 4], dh
xor cl, 8
mov eax, ecx
and al, dl
xor dl, cl
or dl, al
mov eax, edx
and dl, 0x85
not al
mov cl, al
and al, 0x63
and cl, 0x7a
or cl, dl
xor cl, 0xe6
or al, cl
mov cl, al
and al, 0xcc
not cl
and cl, 0x33
or al, cl
mov cl, dh
and cl, 0xb6
mov dl, al
xor al, 0x12
or ch, cl
xor dl, 0xcc
and al, 0x1a
mov ah, ch
xor ch, 0xa0
xor ah, 0x49
and ch, 0xe0
mov cl, ah
and ah, 0x9c
and cl, 0x1f
or cl, ch
mov ch, dl
xor cl, 0x7c
or ah, cl
mov cl, ah
and ah, 0xb4
not cl
and cl, 0x4b
or ah, cl
mov cl, ah
xor ah, 0x4b
xor ch, ah
xor cl, 0xa4
and ah, 0x1a
and cl, 0xe5
and ch, dl
and dl, 0xe5
or dl, al
or cl, ah
mov al, ch
xor cl, dl
and al, cl
xor cl, ch
or cl, al
mov eax, ecx
mov dl, cl
and cl, 0x40
not al
and dl, 0xbe
and al, 1
or dl, al
xor dl, 0xbe
or cl, dl
mov eax, ecx
and cl, 0x23
not al
and al, 0xdc
or cl, al
mov eax, ecx
and cl, 0x3a
not al
mov dl, al
or al, 0x32
and dl, 0x41
and al, 0xb6
or cl, dl
mov dl, cl
or cl, 0x84
xor dl, 8
and cl, 0xb6
and dl, 0x49
or dl, cl
xor al, dl
mov ecx, eax
and al, 0x7b
not cl
and cl, 0x84
or al, cl
mov dl, al
mov ecx, eax
xor dl, 0xb2
and cl, 0x32
and dl, al
not al
and al, 0x80
or cl, al
xor cl, 0x32
mov eax, ecx
and al, dl
xor dl, cl
mov ecx, ebx
or dl, al
and cl, 0xba
mov eax, edx
not dl
and al, 0xb2
and dl, 0x4d
or dl, al
mov al, dh
and al, 0x45
mov ah, dl
and dl, 0x4c
or cl, al
not ah
mov al, cl
xor cl, 0x41
and ah, 0xb3
xor al, 0x20
and cl, 0xdb
or ah, dl
and al, 0x24
mov dh, ah
xor ah, 0xb3
or al, cl
xor dh, 0x4c
mov bh, ah
mov ecx, eax
xor al, 0x24
and bh, 0x33
xor cl, 0xdb
mov dl, al
and al, 0x9c
mov ch, cl
and cl, 0x63
and dl, 0xf2
and ch, 0xd
or al, cl
or ch, dl
mov cl, al
xor al, 0x1c
mov dl, ch
xor cl, 0x43
and ch, 0xf2
and al, 0x3c
not dl
and cl, 0xc3
and dl, 0xd
or cl, al
or ch, dl
xor cl, 0xc3
mov al, ch
and al, cl
xor cl, ch
or cl, al
mov dl, cl
mov al, cl
xor dl, 0x3a
and al, 0x32
and dl, cl
not cl
and cl, 8
or al, cl
mov ecx, eax
xor al, 0xcd
xor cl, dl
not dl
or dl, al
xor cl, 0x32
not dl
or dl, cl
mov cl, ah
and ah, 0x8b
mov al, dl
and dl, 0x3a
and cl, 0x44
not al
and al, 0xc5
or dl, al
mov al, dh
and al, 0x88
mov ch, dl
and dl, 0x1f
or cl, al
not ch
xor cl, 0x44
and ch, 0xe0
or bh, cl
or ch, dl
mov dl, dh
mov al, bh
and bh, 0xcc
and dl, 0xdd
not al
and al, 0x33
or bh, al
mov al, ch
xor ch, 0x1f
xor al, 0xe0
mov cl, ch
mov byte [esp + 0x16], ch
mov bl, bh
mov byte [esp], al
and cl, al
mov al, ch
and al, cl
xor cl, ch
or cl, al
mov al, cl
not al
mov ch, al
xor bl, al
and al, 0x4f
and ch, bh
and bl, bh
mov byte [esp + 0x14], ch
mov ch, bh
mov byte [esp + 0x15], bl
mov bl, bh
not ch
xor bl, 0xdd
mov bh, ch
and ch, cl
and bh, 0x22
mov byte [esp + 0x13], ch
or bl, bh
mov bh, bl
and bl, 0x82
not bh
and bh, 0x7d
or bl, bh
mov bh, dh
mov dh, cl
mov cl, byte [esp]
and dh, 0xb0
and bh, 0x74
or dh, al
or bh, ah
mov al, dh
xor dh, 0x92
xor bh, 0x56
xor al, 0x20
and cl, 0xae
or dl, bh
mov bh, bl
and al, 0x22
xor bh, 0x2c
mov byte [esp + 8], dl
or dh, al
mov al, byte [esp + 0x16]
and bh, 0x2e
and al, 0x51
or cl, al
mov eax, ecx
xor cl, 0x73
xor al, 0x8c
and al, 0xdd
or cl, al
mov eax, ebx
xor bl, 0x2b
xor al, 0x82
mov byte [esp], cl
and bl, al
and al, 0xd1
or al, bh
mov bh, al
mov ecx, eax
xor al, 0x2e
xor bh, 0xd1
xor cl, 0x87
and cl, bh
and bh, 0xb6
mov ah, cl
and ah, bl
xor bl, cl
or bl, ah
mov ah, dl
xor ah, 0x56
and ah, dl
mov dl, byte [esp + 8]
mov cl, ah
and ah, 0x22
not cl
mov ch, cl
and ch, 0xdd
or dl, 0xa9
or ah, ch
mov ch, dl
or cl, dl
and dl, 0xdd
not ch
not cl
and ch, 2
or ch, dl
mov dl, bl
and bl, 0x47
xor ch, ah
not dl
mov ah, byte [esp + 8]
and dl, 0xb8
or cl, ch
or bl, dl
mov dl, cl
and cl, 0x47
not dl
and dl, 0xb8
or cl, dl
mov dl, al
and dl, 0x49
xor cl, bl
or bh, dl
mov dl, ah
and ah, 0xb6
not dl
or al, dl
and dl, 0x49
or ah, dl
not al
xor ah, bh
or al, ah
mov ah, cl
and cl, 0xec
not ah
mov dl, ah
or ah, al
and dl, 0x13
not ah
or cl, dl
mov dl, al
and al, 0x13
not dl
and dl, 0xec
or dl, al
xor dl, cl
or ah, dl
mov dl, byte [esp]
mov al, dl
mov ecx, edx
xor dl, 0xc3
not al
and cl, 0xfe
and dl, al
and al, 1
or al, cl
mov cl, dh
mov byte [esp], dl
mov dl, al
xor al, 0xfe
not cl
xor dl, dh
xor dh, 0xc3
mov ch, al
or al, cl
and dh, cl
or cl, 0xc3
or ch, 0xc3
xor dl, 1
not al
mov ebx, ecx
mov bh, cl
or al, dl
mov dl, ah
and ah, 0x18
not bl
and bh, 0xb4
not dl
and bl, 8
or bl, bh
mov bh, dh
and dh, 0x4b
not bh
or cl, bh
and bh, 0xb4
or dh, bh
not cl
mov bh, byte [esp]
xor dh, bl
mov bl, ch
or cl, dh
mov dh, ch
and bl, 0xd6
not dh
and dh, 0x28
or dh, bl
mov bl, bh
and bh, 0x29
not bl
or ch, bl
and bl, 0xd6
or bh, bl
not ch
xor bh, dh
mov dh, cl
or ch, bh
not dh
and dh, ch
not ch
and ch, cl
mov cl, al
and al, 0xca
not cl
or ch, dh
and cl, 0x35
or al, cl
mov cl, ch
xor al, 0xca
and cl, al
xor al, ch
mov ch, byte [esp + 0x15]
or al, cl
mov cl, dl
and cl, 0xe7
or dl, al
not al
or ah, cl
mov cl, byte [esp + 0x14]
not dl
xor ah, 0xe7
or ah, al
not ah
mov al, ah
or cl, byte [esp + 0x13]
and al, dl
xor dl, ah
mov ah, ch
and ch, 0xc0
not ah
or dl, al
mov al, ah
and al, 0x3f
or ch, al
mov al, cl
and cl, 0xc0
not al
or ah, al
and al, 0x3f
or cl, al
not ah
xor cl, ch
or ah, cl
mov al, ah
mov ch, ah
not al
and ch, 0x24
mov cl, al
and al, 0xdb
and cl, ah
or al, ch
mov ch, cl
and cl, 0xdb
not ch
or ah, ch
and ch, 0x24
or cl, ch
not ah
xor cl, al
or ah, cl
mov al, ah
and ah, 0xa3
not al
mov ecx, eax
and cl, 0x5c
or ah, cl
xor ah, 0xa3
or ah, al
mov al, dl
mov cl, ah
mov ch, ah
xor ah, 0x17
not al
not cl
and ch, 0xbc
and ah, cl
and cl, 0x43
or cl, ch
mov ch, dl
and dl, 0x17
xor ch, 0xe8
xor cl, 0x43
and ch, al
mov dh, ch
and dh, dl
xor dl, ch
mov ch, cl
and ch, 0xe8
or dl, dh
mov dh, ch
and dh, ah
xor ah, ch
mov ch, dl
and dl, 0xd2
not ch
or ah, dh
and ch, 0x2d
or dl, ch
mov ch, ah
and ah, 0xd2
not ch
and ch, 0x2d
or ah, ch
xor ah, dl
mov edx, eax
and dl, cl
xor cl, al
mov al, ah
or cl, dl
not cl
and al, cl
xor cl, ah
or cl, al
mov eax, ecx
mov edx, ecx
and cl, 0xed
not al
and dl, 0x69
mov ah, al
and ah, 0x96
or ah, dl
mov dl, ah
and ah, 6
xor dl, 0x96
mov ch, dl
and dl, 0x2c
and ch, 0xf9
or ch, ah
xor ch, 0x2a
or dl, ch
mov ch, al
and al, 0xd3
and ch, 0x12
mov ah, dl
or ch, cl
not ah
xor ch, 0x3e
or al, ch
mov ch, dl
xor dl, 0x44
mov cl, al
and al, 0xca
and dl, ah
and ch, 0x55
and ah, 0xaa
not cl
or ah, ch
and cl, 0x35
or al, cl
mov ecx, eax
mov ch, al
xor al, 0x71
xor ch, 0x14
xor cl, 0xca
and al, cl
and ch, 0x5c
and cl, 0xa3
or cl, ch
mov ch, ah
xor ah, 0xee
xor ch, 0xaa
xor cl, 0xa3
and ah, ch
mov dh, ah
and ah, 0xec
not dh
mov bl, dh
and bl, 0x13
or ah, bl
mov ebx, edx
and dl, 0xec
not bl
or dh, bl
and bl, 0x13
or dl, bl
not dh
xor dl, ah
or dh, dl
mov dl, cl
and dl, 0xbb
mov ah, dl
and ah, al
xor al, dl
mov dl, dh
or al, ah
not dl
and dl, al
not al
and al, dh
or al, dl
mov dl, ch
and dl, cl
xor cl, ch
mov ah, al
and al, 0xa6
or cl, dl
not ah
mov edx, ecx
mov ch, ah
or ah, cl
and cl, 0x59
not dl
and ch, 0x59
not ah
and dl, 0xa6
or al, ch
or dl, cl
xor dl, al
or ah, dl
mov cl, ah
mov al, ah
xor cl, 0x2c
and al, 0x28
and cl, ah
not ah
and ah, 4
or al, ah
xor al, 0x28
mov edx, eax
and dl, cl
xor cl, al
mov al, byte [esp + 0xc]
or cl, dl
mov edx, eax
mov ebx, eax
not dl
mov ah, dl
mov dh, dl
mov dl, al
xor dl, 0x2c
and ah, 0x2c
mov byte [esp], dh
and dl, al
mov ch, ah
mov al, dh
and ch, dl
xor dl, ah
or dl, ch
mov ah, dl
and dl, 0x2c
not ah
and ah, 0xd3
or dl, ah
mov ah, dl
xor dl, 0xd4
not ah
and ah, 0x2b
or dl, ah
mov ah, dh
mov dh, bl
mov ebx, ecx
and ah, 0x1a
and dh, 0xe5
and bl, 0xa2
or dh, ah
xor dh, 0xce
mov ch, dh
xor ch, al
and ch, dh
mov dh, cl
xor cl, 0x2b
not dh
mov ah, dh
and dh, 0xd4
and ah, 0x5d
or cl, dh
or bl, ah
mov dh, cl
and cl, 0x39
mov ah, bl
xor bl, 8
not dh
xor ah, 0x22
and bl, 0x88
and dh, 0xc6
and ah, 0x77
or cl, dh
mov dh, ch
and ch, dl
not dl
or ah, bl
not dh
mov bl, ah
xor ah, 0x5c
xor bl, 0x23
and bl, 0x2b
or ah, bl
mov bl, ah
and ah, 0x5a
not bl
and bl, 0xa5
or ah, bl
mov ebx, edx
xor bl, dh
and dh, dl
and bl, dl
or dh, ch
mov al, bl
and bl, 0x2f
not al
mov ch, al
and ch, 0xd0
or bl, ch
mov ch, dh
and dh, 0x2f
not ch
or al, ch
and ch, 0xd0
or dh, ch
not al
mov ch, ah
xor dh, bl
xor ch, 0x5a
or al, dh
mov dh, ah
xor ah, 0x33
mov bl, ch
xor dh, 0xa5
and bl, 0x96
mov byte [esp + 8], al
and ah, dh
and dh, 0xe2
mov bh, ah
and bh, bl
xor bl, ah
mov ah, cl
or bl, bh
mov bh, cl
xor cl, 0x50
xor ah, 0x39
mov al, cl
xor bh, 0xc6
and cl, ah
and al, bh
and bh, 0xe2
mov dl, al
and dl, cl
xor cl, al
mov al, bl
or cl, dl
not al
and al, cl
not cl
and cl, bl
mov bl, byte [esp + 0xc]
or cl, al
mov al, ch
or ch, ah
and ah, 0x1d
and al, 0x1d
or bh, ah
not ch
mov ah, cl
and cl, 0xe2
or dh, al
not ah
xor bh, dh
mov dh, byte [esp]
or ch, bh
mov al, ch
and ch, 0x9c
not al
and al, 0x63
or ch, al
mov al, ah
and al, 0x1d
or cl, al
mov al, ch
xor ch, 0x63
xor al, 0x80
or ah, ch
and ch, 0x1d
and al, 0xe2
not ah
or al, ch
xor al, cl
mov cl, byte [esp + 8]
or ah, al
not ah
mov al, cl
mov ch, cl
mov dl, cl
mov cl, bl
not al
and ch, 0xb8
and cl, 0x14
and al, 0x47
or ch, al
xor ch, 0x47
or ch, ah
xor ah, dl
not ah
not ch
and ah, dl
mov dl, dh
mov al, ch
and dl, 0xeb
and al, ah
xor ah, ch
or cl, dl
or ah, al
mov dl, cl
mov al, ah
and cl, 0x9e
and ah, 0x45
not dl
not al
and dl, 0x61
and al, 0xba
or cl, dl
or ah, al
mov dl, cl
mov al, ah
xor ah, 0xba
xor cl, 0x8a
xor dl, 0x75
xor al, 0x45
and dl, ah
or ah, cl
and cl, al
not ah
or cl, dl
mov al, ah
and al, cl
xor cl, ah
or cl, al
mov dl, cl
mov ah, cl
xor dl, 0x97
and ah, 0x7c
and dl, cl
not cl
and cl, 0x83
or ah, cl
mov ecx, ebx
mov ch, ah
xor ah, 0x83
or cl, 0xe7
or ah, 0x68
xor ch, 0x10
mov al, ah
and ch, 0x90
and al, 0x27
or ch, al
mov al, dl
and dl, 0xd8
not al
or ah, al
and al, 0x27
or dl, al
not ah
xor dl, ch
mov ch, dh
or ah, dl
and ch, 8
mov al, ah
and ah, 0x97
not al
and al, 0x68
or ah, al
mov al, ah
and ah, 0xc4
not al
mov dl, al
and dl, 0x3b
or ah, dl
mov dl, bl
xor ah, 0xc4
xor dl, 0x18
or ah, al
mov al, cl
and dl, bl
and al, 0xd5
mov byte [esp + 8], ah
mov ah, dh
or ch, al
mov al, dl
and dl, 0x2a
not al
or cl, al
and al, 0xd5
or dl, al
not cl
xor dl, ch
mov ch, bl
or cl, dl
and ch, 0x12
mov al, cl
and cl, 0x1e
not al
and al, 0xe1
or cl, al
mov al, cl
and cl, 0xd0
xor al, 0x29
and al, 0x2f
or cl, al
mov al, cl
xor cl, 0x79
xor al, 0x80
and al, 0xa9
or cl, al
mov al, dh
and al, 0xe4
or ch, al
mov al, ch
xor ch, 0xed
xor al, 0x10
mov dl, ch
and dl, 0xab
and al, 0x54
or al, dl
mov edx, ebx
xor dl, 0xf6
and dl, bl
mov dh, dl
and dl, 0x54
not dh
or ch, dh
and dh, 0xab
or dl, dh
not ch
mov dh, ah
xor dl, al
mov al, bl
and dh, 0x56
or ch, dl
xor al, 0xa9
mov dl, ch
or al, dh
mov dh, cl
xor ch, 0xf6
xor dl, 9
not dh
and dl, bl
mov ebx, eax
not bl
and bl, cl
or cl, al
and al, dh
not cl
or al, bl
mov dh, cl
and dh, al
xor al, cl
or al, dh
mov cl, al
or al, 0x14
not cl
and al, 0x95
mov dh, cl
and cl, 0x28
or dh, 0xa9
or cl, al
mov al, dh
and dh, 0x95
not al
and al, 0x42
or al, dh
xor al, cl
mov cl, al
xor cl, 7
and cl, al
not al
and al, 7
mov dh, al
and dh, cl
xor cl, al
or cl, dh
mov al, cl
and cl, 0x98
not al
and al, 0x67
or cl, al
mov al, cl
xor cl, 0x60
not al
and cl, 0x73
and al, 0x8c
or al, cl
mov cl, al
xor al, 0x8c
not cl
and al, 0x8d
and cl, 0x72
or cl, al
mov al, cl
xor cl, 0x12
xor al, 8
and cl, 0x97
and al, 0x68
or al, cl
mov cl, al
and al, 0x97
not cl
and cl, 0x68
or al, cl
mov cl, al
and al, 0xbf
not cl
and cl, 0x40
or al, cl
mov cl, ah
mov dh, al
xor al, 0x40
and cl, ch
not dh
and al, 0xd4
or dl, cl
and dh, 0x2b
not dl
or dh, al
or dl, ch
mov al, dh
xor dh, 0x2b
xor al, 0xd4
mov ecx, eax
mov ch, al
and cl, dl
xor ch, dl
or ch, cl
mov cl, dl
and dl, 0xd
not cl
mov bh, ch
xor al, cl
not al
and al, cl
and cl, 0xf2
or cl, dl
mov dl, al
xor cl, dh
xor cl, 0xd
and cl, dh
and dl, cl
xor cl, al
mov al, ch
or cl, dl
xor al, 0x1a
mov edx, ecx
mov bl, cl
mov dh, al
and cl, 0x1a
not dl
xor bl, 0xe5
and dh, ch
and bl, dl
and bh, dl
xor dl, ch
not ch
and al, ch
mov ch, dh
or dl, bh
and ch, al
xor al, dh
or al, ch
mov ch, bl
and ch, cl
xor cl, bl
or cl, ch
mov ch, al
and al, 0xb3
not ch
and ch, 0x4c
or al, ch
mov ch, cl
and cl, 0xb3
not ch
and ch, 0x4c
or cl, ch
mov ch, dl
xor cl, al
not ch
mov eax, ecx
and cl, 0x79
and ch, 0x79
not al
mov dh, al
or al, dl
and dl, 0x86
and dh, 0x86
or ch, dl
not al
or cl, dh
xor ch, cl
or al, ch
mov ch, al
mov edx, eax
not ch
and dl, 0xc3
mov cl, ch
and cl, 0x3c
or dl, cl
mov cl, dl
xor dl, 0x3c
xor cl, 0x83
mov dh, dl
and dh, 0x74
and cl, 0x8b
or cl, dh
mov dh, ch
and ch, 0x14
and dh, al
and al, 0xeb
mov bl, dh
or al, ch
and dh, 0x8b
not bl
mov ch, al
xor al, 0x51
or dl, bl
and bl, 0x74
xor ch, 0xaa
or dh, bl
not dl
and ch, 0xba
xor dh, cl
or al, ch
or dl, dh
mov ch, al
and al, 0x15
mov cl, dl
not ch
xor dl, 0xba
not cl
and ch, 0xea
and cl, 0x45
or al, ch
or dl, cl
mov dh, al
mov ch, al
xor al, 0xd1
mov cl, dl
xor ch, 0xa
xor dh, 0x15
and dl, 0xb
not cl
and al, dh
and ch, 0xe
and dh, 0xf1
and cl, 0xf4
or dh, ch
or dl, cl
mov ecx, edx
mov ch, dl
xor dl, 0xcf
xor ch, 0xf4
mov ebx, edx
xor cl, 0xb
and bl, ch
and dl, cl
and ch, 0x9c
mov bh, bl
and bl, 0xdf
not bh
mov ah, bh
and ah, 0x20
or bl, ah
mov ah, dl
and dl, 0xdf
not ah
or bh, ah
and ah, 0x20
or dl, ah
not bh
xor dl, bl
or bh, dl
mov dl, dh
xor dh, 0xe
xor dl, 0xf1
mov ah, dl
and dl, 0x9c
and ah, 0xc4
mov bl, ah
and bl, al
xor al, ah
mov ah, bh
or al, bl
not ah
and ah, al
not al
and al, bh
mov bh, byte [esp + 0x17]
or al, ah
mov ah, cl
or cl, dh
and dh, 0x63
and ah, 0x63
or dl, dh
not cl
mov dh, byte [esp + 4]
or ch, ah
xor dl, ch
or cl, dl
mov dl, al
not cl
and dl, cl
xor cl, al
or cl, dl
mov eax, ecx
or cl, 0xb8
not al
and cl, 0xb9
mov dl, al
and al, 0x44
or dl, 0x45
or al, cl
mov cl, dh
mov ch, dl
and dl, 0xb9
or cl, 0x80
not ch
and cl, 0x93
and ch, 2
or ch, dl
xor ch, al
mov al, bh
xor bh, 0x40
or al, 0x13
mov dl, al
and al, 0x93
not dl
and dl, 0x6c
or dl, al
xor cl, dl
mov dl, ch
mov eax, ecx
and cl, 0xec
and dl, 0xd0
not al
and al, 0x13
or cl, al
mov eax, ecx
xor cl, 0xbf
not al
and al, 0x40
or cl, al
mov al, dh
and al, 0xbf
or bh, al
mov al, ch
and ch, 0xb1
not al
mov ah, al
and ah, 0x2f
or dl, ah
mov ah, dl
and dl, 0x61
not ah
and ah, 0x9e
or dl, ah
mov ah, dl
xor dl, 0xb1
xor ah, 6
mov dh, dl
and dh, 0xc9
and ah, 0x36
or ah, dh
mov dh, cl
and cl, 0xbd
xor ah, 0x89
not dh
xor dl, ah
and dl, ah
mov ah, al
and ah, 0x4e
or ch, ah
mov ah, dh
and dh, 0xa8
and ah, 0x42
xor ch, 0xf1
or ah, cl
xor al, ch
mov cl, bh
mov bl, ah
and al, ch
mov ch, bh
not cl
xor bh, 0xa8
xor ah, 0xea
xor bl, 0x42
and bh, cl
and ch, 0xf
and cl, 0xf0
and ah, bl
or cl, ch
mov ch, ah
and ch, dh
xor dh, ah
or dh, ch
mov ch, cl
xor cl, 0x58
xor ch, 0xf0
and cl, ch
mov ah, cl
and ah, bh
xor bh, cl
mov cl, dh
or bh, ah
mov ah, bl
not cl
and ah, ch
xor ch, bl
and cl, bh
not bh
or ch, ah
and bh, dh
mov ah, ch
or bh, cl
and ch, 0xca
not ah
mov cl, bh
mov bh, byte [esp + 8]
and ah, 0x35
or ch, ah
mov ah, cl
xor ch, 0xca
and ah, ch
xor ch, cl
mov dh, bh
mov cl, byte [esp + 4]
or ch, ah
mov ah, dl
not dh
and dl, 0xcc
not ah
mov byte [esp], dh
mov dh, ah
and ah, 0x33
or dl, ah
mov ah, al
and al, 0xcc
not ah
or dh, ah
and ah, 0x33
or al, ah
not dh
mov ah, ch
xor al, dl
mov dl, dh
xor ah, 0xe
and dl, al
xor al, dh
and ah, ch
or al, dl
mov dl, ch
not ch
and ch, 8
and dl, 6
or dl, ch
mov ch, al
and al, 0xf1
not ch
xor dl, 6
and ch, 0xe
or al, ch
mov ch, dl
and ch, ah
xor ah, dl
or ah, ch
mov dl, ah
not dl
and dl, al
not al
and al, ah
or al, dl
mov edx, ecx
or cl, 3
mov ah, cl
and dl, 3
and cl, 0x50
mov ch, al
and al, 0xd8
not ah
or dl, 0x50
not ch
and ah, 0xac
or ah, cl
mov cl, bh
or bh, 0x47
xor dl, ah
mov ah, dl
and dl, 3
not ah
and ah, 0xfc
or dl, ah
mov ah, ch
and ah, 0x27
or al, ah
mov ah, dl
and dl, 0x6a
not ah
xor al, 0x27
or al, ah
and ah, 0x95
or dl, ah
mov dh, al
mov bl, al
xor dl, 0x95
not dh
and bl, 0xa5
or dl, ch
and dh, 0x5a
mov ah, dl
or al, dl
and dl, 0xa5
or dh, bl
mov bl, bh
and bh, 0x7a
not ah
not al
not bl
and ah, 0x5a
and bl, 0x80
or ah, dl
or bl, bh
xor ah, dh
mov dh, cl
or al, ah
mov ah, byte [esp]
xor dh, 0x3b
not al
mov dl, al
xor al, ch
and dl, ch
or ah, 0xb8
or al, dl
mov ch, ah
mov dl, al
and ah, 0x7a
and al, 0x6d
not ch
not dl
and ch, 5
and dl, 0x92
or ch, ah
or al, dl
xor bl, ch
mov dl, al
xor al, 0x92
mov ah, bl
xor dl, 0x6d
and bl, 3
mov bh, al
not ah
mov ch, dl
mov byte [esp + 4], dl
and dl, 0x88
and bh, 0x6e
and ah, 0xfc
and ch, 0x9d
or bl, ah
mov ah, al
and ah, 0x62
or ch, ah
mov ah, bl
xor bl, 0x99
xor ah, 0x40
and bl, 0x9d
and ah, 0x62
or bl, ah
xor bl, ch
mov ch, cl
mov ah, bl
xor ah, al
and al, 0x77
or dl, al
mov byte [esp + 0xc], ah
mov ah, cl
mov al, dl
xor dl, 0x21
and ah, 0xf4
xor al, 0x80
and dl, 0x29
and al, 0xd6
or al, dl
mov dl, byte [esp]
mov cl, dl
and dh, dl
and dl, 0xb
or dl, ah
mov ah, al
xor al, 2
and cl, 0x95
xor ah, 0x20
and al, 0xb
and ah, 0xf4
or al, ah
mov ah, ch
and ah, 0x6a
xor al, dl
or cl, ah
not al
mov ah, cl
xor cl, 0x40
or al, ch
or cl, 0x3b
not ah
mov ch, cl
and ah, 0x84
and ch, 0x40
or ah, ch
mov ch, dh
and dh, 0xbf
not ch
or cl, ch
and ch, 0x40
or dh, ch
not cl
mov ch, byte [esp + 0xc]
xor dh, ah
or cl, dh
mov edx, ecx
and cl, 0xc4
not dl
and ch, bl
and dl, 0x3b
mov bl, ch
or cl, dl
mov dl, byte [esp + 4]
not bl
mov ah, cl
not ah
and dl, 0x91
or bh, dl
mov dl, bh
xor bh, 0x6e
xor dl, 0x91
and dl, ah
or ah, bh
and bh, cl
not ah
or bh, dl
mov cl, ah
and cl, bh
xor bh, ah
mov ah, ch
or bh, cl
xor ah, al
mov cl, bh
and bh, 0x1c
and ah, ch
not cl
and cl, 0xe3
or bh, cl
mov cl, bh
and bh, 0xe3
not cl
and cl, 0x1c
or bh, cl
mov dl, bh
and bh, 0x19
not dl
mov cl, dl
and cl, 0xe6
or bh, cl
mov cl, al
and al, ch
not cl
xor bh, 0xe6
and bl, cl
mov cl, ah
and ah, 0xb3
xor dl, bh
or al, bl
not cl
and dl, bh
mov ch, al
mov dh, cl
and al, 0xb3
not ch
and dh, 0x4c
or cl, ch
and ch, 0x4c
or ah, dh
mov dh, dl
or al, ch
not cl
not dh
xor al, ah
or cl, al
mov ah, cl
mov ch, cl
and cl, 0x5e
not ah
and ch, 8
mov al, ah
and al, 0xf7
or ch, al
mov al, ch
xor ch, 0xf7
xor al, 8
and ch, dl
or dl, 0xd8
and al, dh
or ch, al
mov al, ch
xor al, dh
or dh, 0x27
and al, ch
mov ch, ah
mov bl, dh
and dh, 0xf2
or ah, 0x27
and ch, 0xa1
not bl
or cl, ch
and bl, 8
mov ch, cl
xor cl, 0x86
or bl, dh
xor ch, 0x5e
and cl, ch
mov ch, dl
and dl, 0xf2
not ch
mov dh, cl
and cl, 0x89
and ch, 5
not dh
or ch, dl
xor bl, ch
mov ch, dh
or dh, ah
and ch, 0x76
not dh
or cl, ch
mov ch, ah
and ah, 0x76
not ch
and ch, 0x88
or ch, ah
mov ah, al
xor ch, cl
mov cl, bl
or dh, ch
not cl
mov ch, al
and cl, dh
not dh
not ch
and dh, bl
and ch, 0x3d
or dh, cl
mov cl, dh
and dh, 0xc2
not cl
xor ah, cl
and cl, 0x3d
and ah, al
and al, 0xc2
or dh, cl
or al, ch
xor dh, al
mov al, ah
and ah, 0xc9
not al
mov ecx, eax
and cl, 0x36
or ah, cl
mov cl, dh
and dh, 0xc9
not cl
or al, cl
and cl, 0x36
or dh, cl
mov ecx, dword [esp + 0x264]
not al
xor dh, ah
or al, dh
mov byte [ecx + esi], al
mov esi, dword [esp + 0x20]
mov eax, 0x710ea862
mov ecx, dword [esp + 0x44]
inc ecx
nop word cs:[eax + eax]
cmp eax, 0xbbe50ba
jle 0x403360
cmp eax, 0x29172cfa
jle 0x4032f0
cmp eax, 0x59fe68e2
je 0x4033e6
cmp eax, 0x710ea862
je 0x40342e
cmp eax, 0x29172cfb
jne 0x4032b0
jmp 0x40349c
cmp eax, 0xbbe50bb
je 0x403459
cmp eax, 0x1bac5f4b
jne 0x4032b0
mov edx, dword [esp + 0x38]
movzx eax, byte [esp + edx + 0x14c]
mov esi, eax
add esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x38]
movzx edi, byte [esp + edi + 0x4c]
add edi, esi
mov esi, edi
sar esi, 0x1f
shr esi, 0x18
add esi, edi
and esi, 0xffffff00
sub edi, esi
movzx ebx, byte [esp + edi + 0x14c]
mov byte [esp + edx + 0x14c], bl
mov byte [esp + edi + 0x14c], al
mov eax, 0x7763426
mov esi, dword [esp + 0x38]
inc esi
cmp eax, 0xbbe50ba
jg 0x4032bb
nop dword [eax]
cmp eax, 0xdfc654a3
jg 0x4033b0
cmp eax, 0x80b6bce8
je 0x403483
cmp eax, 0xced3831a
jne 0x4032b0
mov eax, 0x710ea862
mov dword [esp + 0x1c], 0
xor ecx, ecx
mov dword [esp + 0x18], 0
cmp eax, 0xbbe50ba
jg 0x4032bb
jmp 0x403360
cmp eax, 0xdfc654a4
je 0x40104a
cmp eax, 0x7763426
jne 0x4032b0
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], edi
mov edx, 0x1bac5f4b
mov eax, dword [esp + 0x38]
cmp eax, 0x100
mov eax, 0xced3831a
jmp 0x403470
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x34]
mov byte [esp + edx + 0x14c], al
mov eax, dword [esp + 0x34]
cdq
idiv dword [esp + 0x270]
mov eax, dword [esp + 0x26c]
movzx eax, byte [eax + edx]
mov edx, dword [esp + 0x34]
mov byte [esp + edx + 0x4c], al
mov eax, 0xbbe50bb
mov ebp, dword [esp + 0x34]
inc ebp
cmp eax, 0xbbe50ba
jg 0x4032bb
jmp 0x403360
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x44], ecx
mov edx, 0xdfc654a4
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x44]
cmp eax, dword [esp + 0x268]
mov eax, 0x29172cfb
jmp 0x403470
mov dword [esp + 0x34], ebp
mov edx, 0x59fe68e2
mov eax, dword [esp + 0x34]
cmp eax, 0x100
mov eax, 0x80b6bce8
cmovl eax, edx
cmp eax, 0xbbe50ba
jg 0x4032bb
jmp 0x403360
mov eax, 0x7763426
xor esi, esi
xor edi, edi
cmp eax, 0xbbe50ba
jg 0x4032bb
jmp 0x403360
mov eax, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x24c]
xor ecx, esp
call fcn.004716a1
add esp, 0x250
pop esi
pop edi
pop ebx
pop ebp
ret