Function at 0x4044e0
Capabilities:
Hash data using murmur2
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x64
mov eax, dword [0x44f834]
mov edx, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
xor eax, esp
mov dword [esp + 0x60], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x58], edx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x5c], ecx
mov ecx, 0x11d211d3
cmp dword [edx + 0x14], 0xf
mov edx, 0x30b617f6
cmova ecx, edx
mov edx, 0xdf29924e
nop
cmp edx, 0x30b617f6
je 0x404546
cmp edx, 0x11d211d3
je 0x40455b
cmp edx, 0xdf29924e
jne 0x404520
mov esi, dword [esp + 0x5c]
mov edx, ecx
cmp edx, 0x30b617f6
jne 0x404528
mov edx, dword [esp + 0x58]
mov esi, dword [edx]
mov edx, 0x11d211d3
cmp edx, 0x30b617f6
jne 0x404528
jmp 0x404546
mov edx, eax
mov dword [esp], esi
mov esi, eax
mov dword [esp + 4], eax
mov dword [esp + 0x14], 0
not edx
xor esi, 0x579ce6b1
mov ecx, edx
and esi, eax
and edx, 0xfa7d7673
and ecx, 0x579ce6b1
mov edi, ecx
and edi, esi
xor esi, ecx
or esi, edi
mov ecx, esi
and esi, 0x579ce6b1
not ecx
and ecx, 0xa863194e
or esi, ecx
mov ecx, esi
and esi, 0xae74500
not ecx
and ecx, 0xf518baff
or esi, ecx
mov ecx, ebp
mov ebx, esi
xor esi, 0xf118820c
not ecx
xor ebx, 0x2250400
and esi, 0xf9dac30c
and ebx, 0x6253cf3
or ebx, esi
mov esi, ebx
xor ebx, 0x6253cf3
xor esi, 0xbc15610f
and ebx, esi
mov esi, eax
and esi, 0x582898c
or esi, edx
mov edi, esi
xor esi, 0x303d1071
xor edi, 0x582898c
and esi, 0x313f98f9
mov edx, edi
and edi, 0x45cfa203
and edx, 0xcec06706
or edx, esi
mov esi, ecx
xor edx, 0x74f03afa
and esi, 0xaab2d9ff
or edi, edx
mov eax, esi
mov edx, edi
and edi, 0x10a1460c
not edx
and edx, 0xef5eb9f3
or edi, edx
mov edx, ebp
xor ebp, 0xaab2d9ff
and ebp, edx
and edx, 0xbc61f70c
and eax, ebp
xor ebp, esi
or ebp, eax
mov eax, ebp
and ebp, 0x255bca1c
not eax
and eax, 0xdaa435e3
or ebp, eax
mov eax, ebp
xor ebp, 0x7016ec1c
xor eax, 0x5c90203
mov esi, ebp
and esi, 0xba305dfc
and eax, 0x45cfa203
or eax, esi
mov esi, ebx
xor ebp, eax
and esi, 0xf3546dcd
and ebp, eax
mov eax, ecx
and ecx, 0x45cfa203
and eax, 0x439e08f3
or eax, edx
mov edx, edi
xor eax, 0xf9ae550f
xor edx, 0xef5eb9f3
or ecx, eax
mov eax, ecx
and ecx, 0xa0f85fdb
not eax
and eax, 0x5f07a024
or ecx, eax
mov eax, ebx
and ebx, 0xfef24ea1
not eax
mov dword [esp + 8], ecx
and eax, 0xcab9232
or esi, eax
xor esi, 0xf3546dcd
mov eax, esi
and eax, edx
xor edx, esi
and esi, 0x10db15e
or ebx, esi
mov esi, edi
xor edi, 0x11acf752
mov dword [esp + 0xc], eax
xor esi, 0x10a1460c
or edx, dword [esp + 0xc]
and edi, esi
or esi, 0xfef24ea1
mov eax, esi
mov ecx, esi
not eax
and ecx, 0xfc35a0bf
and eax, 0x1081140
not edx
or eax, ecx
mov ecx, edi
and edi, 0x3ca5f40
not ecx
or esi, ecx
and ecx, 0xfc35a0bf
or edi, ecx
not esi
xor edi, eax
mov eax, ebx
and ebx, 0xc6ca39c5
not eax
or esi, edi
and eax, 0x3935c63a
or ebx, eax
mov eax, esi
and esi, 0xc6ca39c5
not eax
and eax, 0x3935c63a
or esi, eax
xor esi, ebx
mov ebx, dword [esp + 8]
mov eax, esi
and eax, edx
xor edx, esi
mov esi, ebp
or ebp, 0xb201758d
not esi
or edx, eax
mov eax, ebp
and ebp, 0x3751f802
mov edi, esi
not eax
or edi, 0x4dfe8a72
and eax, 0x48ae0270
mov ecx, edi
and edi, 0x3751f802
or eax, ebp
not ecx
and ecx, 0x8000058d
or ecx, edi
xor ecx, eax
mov eax, ebx
xor ebx, 0x5f07a024
xor eax, 0xf80a52
or eax, 0xb201758d
mov edi, eax
and eax, 0xfd3ea06f
not edi
and edi, 0xc00a10
or edi, eax
mov eax, esi
xor esi, ebx
and eax, ebx
or ebx, 0x4dfe8a72
mov ebp, ebx
and ebx, 0xfd3ea06f
or esi, eax
not ebp
mov eax, esi
and esi, 0x8cb7bdd2
and ebp, 0x2015580
not eax
or ebp, ebx
and eax, 0x7348422d
xor ebp, edi
mov edi, ecx
and ecx, 0x6fab134
or esi, eax
not edi
xor esi, 0x8cb7bdd2
and edi, 0xf9054ecb
or ecx, edi
mov edi, ebp
and ebp, 0x6fab134
not edi
and edi, 0xf9054ecb
or ebp, edi
xor ebp, ecx
mov ecx, edx
mov eax, ebp
xor ecx, 0x89e60b44
and eax, esi
xor esi, ebp
and ecx, edx
not edx
or esi, eax
and edx, 0x89e60b44
mov edi, esi
mov eax, esi
xor edi, 0x89e60b44
and eax, 0x88260140
and edi, esi
not esi
and esi, 0x1c00a04
or eax, esi
mov esi, edx
and esi, ecx
xor ecx, edx
xor eax, 0x88260140
mov edx, eax
or ecx, esi
and edx, edi
xor edi, eax
mov eax, ecx
or edi, edx
not eax
and eax, edi
not edi
and edi, ecx
or edi, eax
mov eax, dword [esp]
mov dword [esp + 0xc], edi
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 4]
shr eax, 2
mov dword [esp + 0x30], eax
mov eax, 0xb381197b
cmp eax, 0xf9cc71f5
jg 0x4048ab
jmp 0x4049c0
mov ecx, dword [esp + 0x44]
mov eax, 0xeb04ea75
mov dword [esp + 4], ecx
nop dword [eax + eax]
cmp eax, 0xf9cc71f5
jle 0x4049c0
cmp eax, 0x412a96fb
jle 0x404a00
cmp eax, 0x74e88f09
jg 0x404ddc
cmp eax, 0x412a96fc
je 0x404e4a
cmp eax, 0x6b4cba45
jne 0x4048a0
mov eax, dword [esp + 0x30]
shl eax, 2
add eax, dword [esp + 0x2c]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x10]
mov eax, ecx
and ecx, 0xcc1e67c5
not eax
and eax, 0x33e1983a
or ecx, eax
mov eax, ecx
mov edx, ecx
xor ecx, 0xcc1e67c6
xor edx, 0x13c10008
xor eax, 0xcc1e67c5
and ecx, eax
and edx, 0xd3c3260c
and eax, 0x2c3cd9f3
or eax, edx
mov edx, ecx
xor eax, 0x2c3cd9f0
and edx, eax
xor eax, ecx
or eax, edx
mov edx, eax
mov ecx, eax
xor edx, 0xcc426a80
not ecx
and edx, eax
or eax, 0x33bd957f
and ecx, 0x2800
mov edi, edx
mov ebx, eax
and edx, 0x32a9381b
not edi
and ebx, 0xcd56c7e4
or eax, edi
and edi, 0xcd56c7e4
or ecx, ebx
or edx, edi
not eax
xor edx, ecx
or eax, edx
mov ecx, eax
and eax, 0xcc426a80
not ecx
and ecx, 0x33bd957f
or eax, ecx
mov ecx, eax
and eax, 0x3a84bc52
not ecx
and ecx, 0xc57b43ad
or eax, ecx
mov ecx, eax
xor eax, 0x454b418c
xor ecx, 0x3884bc42
and eax, 0x474b419c
and ecx, 0xb8b4be63
or ecx, eax
mov eax, 0x1293cfc5
xor ecx, 0xb8b4be63
mov dword [esp + 0x38], ecx
cmp eax, 0xf9cc71f5
jg 0x4048ab
nop
cmp eax, 0xb381197a
jle 0x404d90
cmp eax, 0xcdfb0b8c
jg 0x404e2f
cmp eax, 0xb381197b
je 0x40518b
cmp eax, 0xb9fbec1e
jne 0x4048a0
cmp dword [esp + 0x1c], 0x64
mov eax, 0xcdfb0b8d
mov ecx, 0x8ca1934d
jmp 0x4052b9
cmp eax, 0xf9cc71f6
je 0x4051c2
cmp eax, 0x1293cfc5
je 0x4051e6
cmp eax, 0x28c7e6a9
jne 0x4048a0
mov eax, dword [esp + 0x34]
mov ebp, dword [esp + 8]
movsx edx, byte [eax + 1]
shl edx, 8
mov eax, edx
mov esi, edx
not eax
xor esi, 0x2f92ed00
mov ecx, eax
and esi, edx
and edx, 0xe3ddf900
and ecx, 0x1c220600
or edx, ecx
xor edx, 0x4ae8c100
or edx, eax
and eax, 0x2f92ed1a
mov ecx, eax
mov ebx, edx
and ecx, esi
xor esi, eax
not ebx
or esi, ecx
mov eax, esi
and esi, 0x37d52302
not eax
and eax, 0xc82adcc5
or esi, eax
mov eax, esi
xor esi, 0xe0203085
xor eax, 0x18448800
and esi, 0xe023769d
and eax, 0x1fdc8942
or esi, eax
mov eax, esi
xor esi, 0xe02376bd
xor eax, 0xb6e9b172
and esi, eax
mov eax, ebp
not eax
mov ecx, eax
mov edi, eax
and ecx, ebp
and edi, ecx
xor ecx, eax
and eax, 0x8b8aa992
or ecx, edi
mov edi, ecx
and ecx, 0x2f82b4df
not edi
and edi, 0xd07d4b20
or ecx, edi
mov edi, ecx
xor ecx, 0x79487310
xor edi, 0x68284cf
and edi, 0x56cac7cf
or ecx, edi
mov edi, ebp
and edi, 0x7475566d
mov dword [esp + 0x10], ecx
or edi, eax
mov eax, edi
xor edi, 0xa0092
xor eax, 0x7475566d
and edi, 0x7e409b
mov ebp, eax
and eax, 0xa9353830
and ebp, 0xff81bf64
or ebp, edi
xor ebp, 0xa94b78ab
or eax, ebp
mov edi, eax
and eax, 0x60f3a77b
not edi
and edi, 0x9f0c5884
or eax, edi
mov edi, esi
and esi, 0xe98fc3e
not edi
mov dword [esp], eax
mov ebp, edi
or edi, 0x22ee2286
and ebp, 0xf16703c1
or esi, ebp
mov ebp, edx
xor edx, 0xdd11dd00
and edx, ebx
and ebp, 0x47d58d3b
and ebx, 0xb82a7200
mov ecx, esi
xor esi, 0x20660280
or ebx, ebp
mov ebp, edi
or esi, 0xdd11dd79
and edi, 0xd73b3803
xor ecx, 0xe98fc3e
not ebp
mov eax, esi
and esi, 0xd73b3803
and ebp, 0x800c578
not eax
or ebp, edi
mov edi, ebx
xor ebx, 0x653bafbd
and eax, 0x20c40284
xor edi, 0xb82a72c4
or eax, esi
and ebx, edi
xor ebp, eax
mov esi, ebx
and ebx, 0xbdc59792
not esi
mov eax, esi
and eax, 0x423a6869
or ebx, eax
mov eax, edx
and edx, 0xbdc59700
not eax
or esi, eax
and eax, 0x423a686d
or edx, eax
mov eax, ebp
not esi
and ebp, 0x20e86b45
xor edx, ebx
not eax
mov ebx, dword [esp + 0x10]
or esi, edx
and eax, 0xdf1794ba
or ebp, eax
mov eax, esi
and esi, 0x20e86b45
not eax
and eax, 0xdf1794ba
mov edx, ebx
or esi, eax
mov eax, ecx
not edx
and eax, edi
xor edi, ecx
xor esi, ebp
or edi, eax
mov eax, esi
not edi
and eax, edi
xor edi, esi
mov esi, ebx
or edi, eax
mov eax, ebx
xor esi, 0x36b94f45
and esi, edx
and eax, 0x89e526f4
and edx, 0x761ad90b
mov dword [esp + 0x18], edi
or edx, eax
mov ecx, edx
mov eax, edx
xor edx, 0x89e526f4
xor ecx, 0x761ad90b
xor eax, 0x40a3964e
and eax, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [esp]
mov ebx, eax
and ebx, esi
xor esi, eax
or esi, ebx
mov ebp, ecx
mov ebx, ecx
xor ecx, 0xa9b517c1
xor ebx, 0x9f0c5884
mov eax, ecx
xor ebp, 0x60f3a77b
and eax, ebx
and ecx, ebp
and ebx, 0xda883669
mov edi, eax
and edi, ecx
xor ecx, eax
mov eax, esi
and esi, 0x79b9d78d
not eax
or ecx, edi
and eax, 0x86462872
or esi, eax
mov eax, ecx
and ecx, 0x79b9d78d
not eax
and eax, 0x86462872
or ecx, eax
mov eax, edx
or edx, ebp
and ebp, 0x2577c996
xor ecx, esi
mov esi, dword [esp + 0x10]
and eax, 0x2577c996
or ebx, ebp
not edx
and esi, 0xda883669
or esi, eax
xor ebx, esi
or edx, ebx
mov eax, edx
and edx, 0xacdf0d1
not eax
and eax, 0xf5320f2e
or edx, eax
mov eax, ecx
xor edx, 0xacdf0d1
and eax, edx
xor edx, ecx
mov ecx, dword [esp + 0x18]
or edx, eax
mov edi, edx
xor edi, 0x281b06d0
mov eax, ecx
or ecx, 0xd7e4f92f
and edi, edx
not eax
mov esi, ecx
mov ecx, edx
not edx
or eax, 0x281b06d0
mov ebp, esi
and edx, 0x20000080
and ecx, 0x81b0650
and esi, 0xf08d3fac
mov ebx, eax
or ecx, edx
not ebp
and eax, 0xf08d3fac
not ebx
and ebp, 0x8120050
xor ecx, 0x81b0650
and ebx, 0x760c003
or ebp, esi
or ebx, eax
mov eax, ecx
and eax, edi
xor edi, ecx
xor ebx, ebp
or edi, eax
mov eax, ebx
and ebx, 0xbea15708
not eax
and eax, 0x415ea8f7
or ebx, eax
mov eax, edi
and edi, 0xbea15708
not eax
and eax, 0x415ea8f7
or edi, eax
mov eax, 0x412a96fc
xor edi, ebx
mov dword [esp], edi
cmp eax, 0xf9cc71f5
jg 0x4048ab
jmp 0x4049c0
cmp eax, 0x8b5fac38
je 0x40488e
cmp eax, 0x8ca1934d
je 0x4051fc
cmp eax, 0xa8710d14
jne 0x4048a0
mov eax, dword [esp + 0x38]
mov ecx, 0x412a96fc
mov dword [esp], 0
cmp eax, 1
mov eax, 0x8b5fac38
cmove eax, ecx
cmp eax, 0xf9cc71f5
jg 0x4048ab
jmp 0x4049c0
cmp eax, 0x74e88f0a
je 0x4052a0
cmp eax, 0x7b81e531
jne 0x4048a0
lea eax, [esp + 0x20]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
lea eax, [esp + 0x1c]
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x1c], 0
jmp 0x40553a
cmp eax, 0xcdfb0b8d
je 0x4052cc
cmp eax, 0xeb04ea75
jne 0x4048a0
jmp 0x4056ab
mov eax, dword [esp + 0x34]
mov esi, dword [esp]
movsx edx, byte [eax]
mov eax, esi
or esi, 0x3742a791
not eax
mov edi, esi
and esi, 0xd6a37e53
mov ebx, eax
not edi
or ebx, 0xc8bd586e
and edi, 0x81c002c
mov ecx, ebx
and ebx, 0xd6a37e53
or edi, esi
not ecx
and ecx, 0x21408180
or ecx, ebx
xor ecx, edi
mov edi, edx
mov esi, ecx
and ecx, 0xc8bd586e
not edi
not esi
and esi, 0x3742a791
or ecx, esi
mov esi, edx
and esi, ecx
not ecx
and ecx, edi
or ecx, esi
mov esi, edx
xor esi, 0x8139ca35
not ecx
and esi, edx
or edx, 0x7ec635ca
or ecx, edi
and edi, 0x100211
mov ebx, esi
mov ebp, edx
and esi, 0x74100711
not ebx
and ebp, 0x8beff8ee
or edx, ebx
and ebx, 0x8beff8ee
or edi, ebp
or esi, ebx
not edx
mov ebx, dword [esp]
xor esi, edi
mov edi, eax
or edx, esi
and edi, 0x214e13c4
mov esi, edx
and edx, 0x8139ca35
not esi
and ebx, 0xdeb1ec3b
and esi, 0x7ec635ca
or ebx, edi
mov edi, ecx
or edx, esi
and edi, 0x889a0de7
mov esi, edx
and edx, 0x858a1e01
not esi
and esi, 0x7a75e1fe
or edx, esi
mov esi, edx
xor edx, 0x204401c4
xor esi, 0x84800c01
and edx, 0x214e13c4
and esi, 0xdeb1ec3b
or esi, edx
xor esi, ebx
mov ebx, ecx
xor eax, esi
and eax, esi
mov edx, eax
and eax, 0x7765f218
not edx
mov esi, edx
and ebx, edx
xor edx, ecx
not ecx
and ecx, 0x7765f218
and esi, 0x889a0de7
or edx, ebx
or ecx, edi
or eax, esi
not edx
mov edi, dword [esp + 0x44]
mov esi, ecx
and ecx, 0xa1138ea7
not esi
and esi, 0x5eec7158
or ecx, esi
mov esi, eax
and eax, 0xa1138ea7
not esi
and esi, 0x5eec7158
or eax, esi
mov esi, edi
xor eax, ecx
not esi
mov ecx, eax
and ecx, edx
xor edx, eax
or edx, ecx
imul ecx, edx, 0x5bd1e995
mov ebx, ecx
mov eax, ecx
and ecx, 0xac7c2786
not ebx
and eax, 0xf06c7627
mov edx, ebx
and edx, 0x5383d879
or ecx, edx
mov edx, edi
xor ecx, 0x4d1f3a3a
and edx, 0x8123e8b7
or ecx, ebx
and ebx, 0xf9389d8
or ebx, eax
mov dword [esp + 4], ecx
mov eax, ebx
xor ebx, 0xa130998
xor eax, 0x4c6020
and ebx, 0xfa331f9f
and eax, 0x5cce060
or ebx, eax
mov eax, ebx
xor ebx, 0xfa331f9f
xor eax, 0xe4affddc
and ebx, eax
mov eax, esi
and eax, 0x7edc1748
or edx, eax
mov ecx, edx
xor edx, 0x74141648
or edx, 0x8be86103
xor ecx, 0x108a0
mov ebp, edx
and ecx, 0x40051ce8
and ebp, 0x3cf2e214
or ecx, ebp
mov ebp, edi
xor ebp, 0x74179efc
and ebp, edi
and edi, 0x1e9ce243
mov eax, ebp
and ebp, 0xc30d1deb
not eax
or edx, eax
and eax, 0x3cf2e214
or ebp, eax
not edx
xor ebp, ecx
or edx, ebp
mov eax, edx
and edx, 0x74179efc
not eax
and eax, 0x8be86103
or edx, eax
mov eax, edx
and edx, 0xe1631dbc
not eax
mov ecx, eax
and ecx, 0x1e9ce243
or edx, ecx
mov ecx, dword [esp + 4]
not edx
or edx, eax
mov eax, esi
and eax, 0xe1631dbc
or edi, eax
mov eax, ebx
and ebx, 0xe6f02963
xor esi, edi
not eax
and esi, edi
mov edi, eax
and eax, 0x190fd69c
or ebx, eax
mov eax, ecx
or edi, ecx
and ecx, 0x190fd69c
not eax
and eax, 0xe6f02963
or eax, ecx
mov ecx, edi
xor eax, ebx
not ecx
mov ebx, edi
mov ebp, eax
and ebx, 0x9348926d
and ecx, 0x6cb76d92
and eax, 0x6cb76d92
not ebp
or ecx, ebx
or edi, ebp
and ebp, 0x9348926d
or eax, ebp
not edi
xor eax, ecx
mov ecx, edx
not ecx
or edi, eax
mov eax, edx
and edx, 0xfa4ea25
and ecx, 0xf05b15da
or ecx, edx
mov edx, esi
and esi, 0xf05b15da
not edx
or eax, edx
and edx, 0xfa4ea25
or esi, edx
not eax
xor esi, ecx
mov ecx, eax
and ecx, esi
xor esi, eax
or esi, ecx
mov eax, esi
and esi, 0xf94f055b
not eax
mov edx, eax
and eax, 0x6b0faa4
or esi, eax
or edx, edi
xor esi, edi
mov eax, edx
mov ecx, edx
xor esi, 0x6b0faa4
not eax
and ecx, 0x76c43a08
and esi, edi
and eax, 0x893bc5f7
mov edi, esi
and esi, 0x893bc5f7
or eax, ecx
not edi
or edx, edi
and edi, 0x76c43a08
or esi, edi
not edx
xor esi, eax
mov eax, 0xeb04ea75
or edx, esi
mov dword [esp + 4], edx
cmp eax, 0xf9cc71f5
jg 0x4048ab
jmp 0x4049c0
mov eax, dword [esp + 0xc]
mov edx, 0x7b81e531
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x14]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
cmp ecx, eax
mov eax, 0x6b4cba45
cmovl eax, edx
cmp eax, 0xf9cc71f5
jg 0x4048ab
jmp 0x4049c0
mov eax, dword [esp + 0x34]
movsx eax, byte [eax + 2]
shl eax, 0x10
mov dword [esp + 8], eax
mov eax, 0x28c7e6a9
cmp eax, 0xf9cc71f5
jg 0x4048ab
jmp 0x4049c0
mov eax, dword [esp + 0x38]
mov ecx, 0xa8710d14
cmp eax, 2
mov eax, 0x74e88f0a
jmp 0x4052b9
lea eax, [esp + 0x24]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
cmp eax, dword [esp + 0x28]
mov eax, 0xe2414c93
setne byte [esp + 0x54]
nop dword [eax + eax]
cmp eax, 0xe2414c92
jg 0x405250
cmp eax, 0x94eb0ed6
je 0x405536
cmp eax, 0x9d483421
jne 0x405220
mov eax, dword [esp + 0x58]
lea ecx, [esp + 0x20]
push dword [esp + 0x5c]
push dword [eax]
call fcn.00408c90
jmp 0x405292
cmp eax, 0xf99cf40a
je 0x405281
cmp eax, 0xe2414c93
jne 0x405220
lea eax, [esp + 0x1c]
mov ecx, 0xf99cf40a
mov dword [esp + 0x5c], eax
mov eax, 0x9d483421
cmp byte [esp + 0x54], 0
cmovne eax, ecx
cmp eax, 0xe2414c92
jle 0x405227
jmp 0x405250
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x24]
mov eax, dword [eax]
mov dword [ecx], eax
add dword [esp + 0x24], 4
mov eax, 0x94eb0ed6
cmp eax, 0xe2414c92
jle 0x405227
jmp 0x405250
mov eax, dword [esp + 0x38]
mov ecx, 0x28c7e6a9
mov dword [esp + 8], 0
cmp eax, 3
mov eax, 0xf9cc71f6
cmovl eax, ecx
cmp eax, 0xf9cc71f5
jg 0x4048ab
jmp 0x4049c0
mov eax, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x2c]
imul ebp, dword [ecx + eax*4], 0x5bd1e995
mov ebx, ebp
mov eax, ebp
mov edx, ebp
mov esi, ebp
mov ecx, ebp
and ebp, 0x66c1fc79
not ebx
and eax, 0x80e0206
shr edx, 0x18
and esi, 0xcb4e2425
mov edi, ebx
and ebx, 0x91300180
or eax, ebx
mov ebx, edx
and edi, 0x34b1dbda
xor eax, 0x80e0206
not ebx
or edi, esi
or ebp, eax
mov eax, ebp
and ebp, 0x993e0386
not eax
and eax, 0x66c1fc79
or ebp, eax
mov eax, ebp
and ebp, 0x29867786
not eax
and eax, 0xd6798879
or ebp, eax
mov eax, ebp
xor ebp, 0x79
xor eax, 0x86
and ebp, edx
and eax, ebx
or ebp, eax
mov eax, edx
xor eax, 0x39
not ebp
and eax, edx
or ebp, ebx
and ebx, 0x89123c10
and edx, 0x29
or edx, ebx
xor edx, 0x4244c029
mov ebx, edx
and ebx, eax
xor eax, edx
or eax, ebx
mov edx, eax
and eax, 0xc114801b
not edx
and edx, 0x18aa3fe4
or eax, edx
mov edx, eax
xor eax, 0x51040048
xor edx, 0x6432c00
and eax, 0x5904506a
and edx, 0x86fbaf95
or edx, eax
mov eax, edx
xor edx, 0x7904506a
xor eax, 0xb08b90
or ecx, edx
and edx, 0xcb4e2425
and eax, 0x10b0dbda
not ecx
or eax, edx
xor eax, edi
mov edi, ebp
or ecx, eax
and edi, 0xc52aecd1
mov eax, ecx
and ecx, 0xd4205719
not eax
and eax, 0x2bdfa8e6
or ecx, eax
mov edx, ecx
mov eax, ecx
xor ecx, 0x110abbc8
xor eax, 0x28c60040
xor edx, 0xd4205719
and ecx, edx
and eax, 0x6ce65249
and edx, 0x9319adb6
or edx, eax
mov ebx, edx
xor edx, 0x44224041
xor ebx, 0x9319adb6
or edx, 0x3ad5132e
mov eax, ebx
xor ebx, ebp
mov esi, edx
and eax, ebp
not ebp
not esi
and ebp, 0x2e
and esi, 0x1200400
or ebx, eax
or ebp, edi
mov edi, edx
mov eax, ebx
and ebx, 0xccf7791e
and edi, 0xf69ffad1
not eax
or esi, edi
mov edi, ecx
and ecx, 0x960052e
and eax, 0x330886e1
not edi
or ebx, eax
or edx, edi
and edi, 0xf69ffad1
xor ebx, 0xccf7791e
or ecx, edi
not edx
imul edi, dword [esp + 0x44], 0x5bd1e995
xor ecx, esi
or edx, ecx
mov ecx, edx
not ecx
and ecx, ebp
not ebp
and ebp, edx
or ebp, ecx
mov eax, ebp
and eax, ebx
xor ebx, ebp
or ebx, eax
lea eax, [esp + 0x20]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], eax
lea eax, [esp + 0x24]
mov dword [esp + 0x54], eax
lea eax, [esp + 0x28]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov eax, 0xb74f5152
nop dword [eax + eax]
cmp eax, 0x73305aae
je 0x4054e2
cmp eax, 0x3d9c5a1
je 0x40554f
cmp eax, 0xb74f5152
jne 0x4054b0
cmp dword [esp + 0x5c], 0
mov eax, 0x73305aae
mov ecx, 0x3d9c5a1
cmove eax, ecx
cmp eax, 0x73305aae
jne 0x4054b7
mov eax, dword [esp + 0x54]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x5c]
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov ecx, dword [esp + 0x50]
mov ecx, dword [ecx]
mov edx, dword [esp + 0x4c]
sub eax, ecx
push eax
push ecx
call fcn.004078e0
add esp, 8
mov eax, dword [esp + 0x50]
mov dword [eax], 0
mov eax, dword [esp + 0x54]
mov dword [eax], 0
mov eax, dword [esp + 0x58]
mov dword [eax], 0
mov eax, 0x3d9c5a1
cmp eax, 0x73305aae
jne 0x4054b7
jmp 0x4054e2
inc dword [esp + 0x1c]
mov eax, 0xb9fbec1e
cmp eax, 0xf9cc71f5
jg 0x4048ab
jmp 0x4049c0
imul eax, ebx, 0x5bd1e995
mov ebp, edi
mov ecx, eax
mov edx, eax
and ebp, 0xe0cacfc
xor ecx, 0x4ca92d30
and edx, 0xc290130
and ecx, eax
not eax
mov esi, eax
and esi, 0x40802c00
or edx, esi
xor edx, 0xc290130
mov esi, edx
and esi, ecx
xor ecx, edx
or ecx, esi
mov edx, ecx
and ecx, 0x4ca92d30
not edx
and edx, 0xb356d2cf
or ecx, edx
mov edx, edi
mov esi, ecx
not edx
and ecx, 0xf1f35303
not esi
mov ebx, edx
and esi, 0xe0cacfc
and ebx, 0xf1f35303
or ebp, ebx
or esi, ecx
xor esi, ebp
mov ecx, esi
xor ecx, edx
and ecx, esi
mov esi, edx
and edx, edi
and edi, 0xaf167693
and esi, 0x50e9896c
mov ebx, edx
and edx, 0x7e8b8f1f
or edi, esi
not ebx
mov esi, edi
xor edi, 0x50e9896c
mov ebp, edi
xor esi, 0x2e020613
or edi, ebx
and ebx, 0x817470e0
and ebp, 0x817470e0
and esi, 0x7e8b8f1f
or edx, ebx
not edi
or esi, ebp
xor edx, esi
mov esi, ecx
or edi, edx
not esi
mov edx, edi
and edi, 0xc6a49c9b
and esi, 0xbadf2801
not edx
and edx, 0x395b6364
or edi, edx
mov edx, eax
xor edi, 0xc6a49c9b
and edx, edi
xor edi, eax
or edi, edx
mov edx, ecx
mov eax, edi
xor edx, edi
and edi, 0xbadf2801
not eax
and edx, ecx
and ecx, 0x4520d7fe
and eax, 0x4520d7fe
or ecx, esi
or eax, edi
mov edi, edx
and edx, 0x2c19a9ee
xor eax, ecx
not edi
mov ecx, eax
mov esi, edi
and eax, 0x2c19a9ee
not ecx
and esi, 0xd3e65611
or edi, ecx
and ecx, 0xd3e65611
or edx, esi
or eax, ecx
not edi
xor eax, edx
or edi, eax
mov dword [esp + 0xc], edi
mov eax, dword [esp + 0x3c]
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x14], eax
mov eax, 0xb381197b
cmp eax, 0xf9cc71f5
jg 0x4048ab
jmp 0x4049c0
mov ebp, dword [esp + 4]
mov eax, ebp
mov dword [esp + 4], ebp
shr eax, 0xd
mov edx, eax
mov edi, eax
mov ecx, eax
or edx, 0x447c092d
xor edi, 0x3f6d2
not ecx
mov esi, edx
mov ebx, edx
and edi, eax
and ecx, 0x6c31bdd5
xor eax, 0x93ce422a
not esi
and ebx, 0x406563e5
or eax, ecx
and esi, 0x90829412
mov ecx, eax
and eax, 0x761925d6
or esi, ebx
mov ebx, edi
and edi, 0x29c1a
not ecx
not ebx
and ecx, 0x6da29
or edx, ebx
and ebx, 0x6b6563e5
or eax, ecx
mov ecx, ebp
or edi, ebx
not edx
not ecx
xor edi, esi
or edx, edi
mov esi, edx
and edx, 0xf265f80c
not esi
and esi, 0xd9207f3
or edx, esi
mov esi, edx
xor edx, 0x92004020
xor esi, 0x48200cd4
and edx, 0x93c6422a
and esi, 0x6c31bdd5
or esi, edx
mov edx, ecx
and ecx, 0xc01ce4a5
mov edi, esi
and edx, 0xc0000806
xor edi, 0x93c6422a
and edi, esi
mov esi, ebp
and esi, 0x23024501
or esi, edx
mov edx, ebp
mov ebp, eax
xor eax, 0x89e6da29
xor esi, 0x23024501
and edx, 0x1cfdb2f8
xor ebp, 0x24012196
or edx, esi
and ebp, 0x2407e3be
mov esi, edx
and edx, 0x75ffa23e
not esi
and esi, 0x8a005dc1
or edx, esi
mov esi, edx
xor edx, 0x690210c6
xor esi, 0x431ad11
mov ebx, edx
and ebx, 0x93ce422a
and esi, 0x6c31bdd5
or esi, ebx
mov ebx, dword [esp + 4]
xor edx, esi
and edx, esi
mov esi, edi
and edi, 0x2567e3be
not esi
and ebx, 0x3fe31b5a
or ebx, ecx
mov ecx, ebx
xor ebx, 0x53d2a68f
xor ecx, 0x2c211950
and ecx, 0x6c31bdd5
or ebx, ecx
mov ecx, esi
and esi, 0xda981c41
or ecx, eax
and eax, 0xda981c41
or edi, esi
mov esi, ebx
or ebp, eax
mov eax, ecx
not esi
not eax
xor ebp, edi
mov edi, ecx
and esi, 0xb575d01b
and edi, 0x75022f84
and eax, 0x21dd07b
or eax, edi
mov edi, ebp
and ebp, 0x8afdd07b
not edi
or ecx, edi
and edi, 0x75022f84
or ebp, edi
not ecx
xor ebp, eax
mov eax, edx
and edx, 0xb575d01b
not eax
or ecx, ebp
mov edi, eax
and edi, 0x4a8a2fe4
or edx, edi
mov edi, ebx
and edi, 0x4a8a2fe4
or esi, edi
mov edi, edx
and edx, 0xdc359dbb
not edi
and edi, 0x23ca6244
or edx, edi
mov edi, esi
and esi, 0xdc359dbb
not edi
and edi, 0x23ca6244
or esi, edi
xor esi, edx
mov edx, eax
xor eax, ebx
and edx, ebx
or eax, edx
mov edx, eax
and eax, 0xb5cc3bde
not edx
and edx, 0x4a33c421
or eax, edx
mov edx, esi
and esi, 0x3edb1ccd
mov edi, eax
not edx
xor eax, 0x4a33c421
mov ebx, edx
xor edi, 0x34c818cc
or edx, eax
and eax, 0xc124e332
and edi, 0x3edb1ccd
and ebx, 0xc124e332
not edx
or edi, eax
or esi, ebx
mov eax, ecx
xor edi, esi
xor eax, 0xff966e7b
or edx, edi
and eax, ecx
not ecx
mov esi, edx
and ecx, 0xff966e7b
and edx, 0x699184
not esi
and esi, 0xff966e7b
or edx, esi
mov esi, ecx
and esi, eax
xor eax, ecx
or eax, esi
mov ecx, eax
and eax, 0x7b9666b6
not ecx
and ecx, 0x84699949
or eax, ecx
mov ecx, edx
and edx, 0x7b9666b6
not ecx
and ecx, 0x84699949
or edx, ecx
xor edx, eax
imul esi, edx, 0x5bd1e995
mov ecx, esi
mov ebx, esi
shr ecx, 0xf
and ebx, 0x325300b3
mov eax, ecx
mov edx, ecx
and ecx, 0x8ff8
not eax
and edx, 0x148da
mov edi, eax
and edi, 0x17007
or ecx, edi
xor ecx, 0x1cfaf
or ecx, eax
and eax, 0xec1ab725
or edx, eax
mov edi, ecx
and ecx, 0xaaf0983f
mov eax, edx
xor edx, 0xb7ca088d
not edi
xor eax, 0xb720
and eax, 0xbfa8
or edx, eax
mov eax, edx
and edx, 0x1560d
not eax
and eax, 0xe818a9f2
or edx, eax
mov eax, esi
and esi, 0x5bd0bfa8
not eax
mov dword [esp], edx
mov ebp, eax
and ebp, 0xa42f4057
or esi, ebp
not esi
or esi, eax
and eax, 0xcdacff4c
or ebx, eax
mov dword [esp + 8], esi
mov ebp, ebx
xor ebx, 0x4ca05b04
xor ebp, 0x22000032
and ebx, 0x5cf35b85
and ebp, 0xa30ca47a
or ebp, ebx
mov ebx, ebp
xor ebp, 0xa30ca47a
xor ebx, 0x4234005
mov eax, ebp
and eax, 0x5bd0bfa8
and ebx, 0xa42f4057
or ebx, eax
mov eax, edi
and edi, 0x167c0
or edi, ecx
xor ebp, ebx
and eax, 0x164cd
mov ecx, edi
and ebp, ebx
mov ebx, edx
xor edx, 0x39b9cd3f
xor edi, 0xaaf0983f
xor ecx, 0x550f67c0
xor ebx, 0x427560d
mov dword [esp + 4], ecx
and ecx, 0x3d9e9b32
and edx, ebx
or eax, ecx
mov dword [esp + 0xc], eax
mov eax, ebx
or eax, 0xc26164cd
mov ecx, eax
mov esi, eax
not ecx
and esi, 0x22940b9e
and ecx, 0x1d0a9020
or ecx, esi
mov esi, edx
and edx, 0xdd6bf461
not esi
or eax, esi
and esi, 0x22940b9e
or edx, esi
not eax
mov esi, dword [esp]
xor edx, ecx
or eax, edx
mov edx, dword [esp + 0xc]
mov ecx, eax
not ecx
xor esi, 0xc1000822
and esi, 0xc1021c2e
and ecx, edx
not edx
and edx, eax
mov eax, ebx
or ebx, edi
and edi, 0x1e3d1
and eax, 0x3efde3d1
or edx, ecx
mov ecx, ebx
or esi, eax
mov eax, dword [esp + 4]
not ecx
mov dword [esp], esi
mov esi, dword [esp + 8]
and eax, 0xc1021c2e
or eax, edi
mov ebx, esi
xor eax, dword [esp]
not ebx
mov edi, ebx
and ebx, 0xb0a53c94
and edi, 0x13617387
or ecx, eax
mov eax, edx
not ecx
and eax, ecx
xor ecx, edx
or ecx, eax
mov eax, ebp
not eax
mov dword [esp + 4], ecx
mov ecx, eax
mov dword [esp], eax
mov eax, esi
and eax, 0xec9e8c78
mov esi, dword [esp]
or edi, eax
mov eax, edi
xor edi, 0xec9e8c78
xor eax, 0x13617387
mov dword [esp + 8], eax
and eax, 0x4f5ac36b
or esi, 0x4f5ac36b
or ebx, eax
mov eax, ebp
xor eax, 0x4f5ac36b
and eax, ecx
mov ecx, eax
and eax, 0xd833ad0b
not ecx
mov edx, ecx
or ecx, esi
and edx, 0x27cc52f4
not ecx
or eax, edx
mov edx, esi
and esi, 0x27cc52f4
not edx
and edx, 0x90212c00
or edx, esi
xor edx, eax
or ecx, edx
mov eax, ecx
and ecx, 0x3bdfc986
not eax
and eax, 0xc4203679
or ecx, eax
mov eax, ebx
and ebx, 0x3bdfc986
not eax
and eax, 0xc4203679
or ebx, eax
mov eax, ebp
or ebp, edi
and edi, 0x14700a07
xor ebx, ecx
mov ecx, dword [esp]
and eax, 0x14700a07
not ebp
and ecx, 0xeb8ff5f8
or ecx, eax
mov eax, dword [esp + 8]
and eax, 0xeb8ff5f8
or eax, edi
xor eax, ecx
mov ecx, ebx
and ebx, 0x8a444ee0
or ebp, eax
not ecx
mov eax, ebp
mov esi, ecx
and ebp, 0x258f36a1
not eax
and esi, 0x75bbb11f
and eax, 0xda70c95e
or ebx, esi
mov esi, dword [esp + 4]
or ebp, eax
mov edx, ebp
xor ebp, 0xda70c95e
xor edx, 0x406a0
or ecx, ebp
and ebp, 0x75bbb11f
and edx, 0x8a444ee0
not ecx
or edx, ebp
xor edx, ebx
mov ebx, esi
or ecx, edx
xor ebx, 0xdadd482c
mov edi, ecx
mov edx, ecx
and ebx, esi
not esi
and esi, 0xdadd482c
not edi
xor edx, 0xdadd482c
and edi, edx
and edx, ecx
mov ecx, esi
and ecx, ebx
xor ebx, esi
mov esi, edi
and edi, 0x3c4cb029
not esi
or ebx, ecx
mov ecx, esi
and ecx, 0xc3b34fd6
or edi, ecx
mov ecx, edx
and edx, 0x3c4cb029
not ecx
or esi, ecx
and ecx, 0xc3b34fd6
or edx, ecx
mov ecx, ebx
not esi
xor edx, edi
not ecx
or esi, edx
and ecx, esi
not esi
and esi, ebx
or esi, ecx
mov ecx, dword [esp + 0x60]
xor ecx, esp
call fcn.0041ede8
mov eax, esi
add esp, 0x64
pop esi
pop edi
pop ebx
pop ebp
ret