Function at 0x40a5c0
Capabilities:
Link many functions at runtime

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x9c
mov dword [ebp - 0x10], 0xbb90c67c
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov eax, dword [ebp - 0x10]
cmp eax, 0xf11269ba
jle 0x40a635
cmp eax, 0x41d92438
jg 0x40a6dd
cmp eax, 0x24ae5f89
jg 0x40a798
cmp eax, 0x9d05031
jg 0x40a8f0
cmp eax, 0xfc661b1b
jle 0x40ab38
cmp eax, 0xfc661b1c
je 0x40aec8
cmp eax, 0xfddc0a35
je 0x40af0c
cmp eax, 0x69f4ad
jne 0x40a5d9
mov dword [ebp - 0x10], 0x44a8ae69
jmp 0x40a5d9
cmp eax, 0xac5fe778
jg 0x40a741
cmp eax, 0x948b4e35
jg 0x40a810
cmp eax, 0x8a09f1a0
jg 0x40a928
cmp eax, 0x846455ca
jle 0x40ab78
cmp eax, 0x846455cb
je 0x40af18
cmp eax, 0x87e8b295
je 0x40af30
cmp eax, 0x892dc24b
jne 0x40a5d9
push eax
sub esp, 0xc
mov ebx, esp
mov byte [ebx + 0xf], 0
mov edi, 0xf
push edi
push 0x47986c
push ebx
call fcn.00447850
add esp, 0xc
push 8
push 0x47987b
push edi
push ebx
call fcn.0040b9d0
add esp, 0x10
mov eax, dword [ebx + 0xc]
mov dword [ebp - 0x80], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0x84], eax
mov eax, dword [ebx]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0x88], ecx
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x10], 0xac5fe779
jmp 0x40a5d9
cmp eax, 0x573d5359
jg 0x40a859
cmp eax, 0x4836b841
jg 0x40a97b
cmp eax, 0x43746017
jle 0x40aba6
cmp eax, 0x43746018
je 0x40af45
cmp eax, 0x43c33c99
je 0x40af6d
cmp eax, 0x44a8ae69
jne 0x40a5d9
mov eax, dword [ebp - 0x64]
push dword [ebp - 0x1c]
push dword [ebp - 0x4c]
call eax
mov ecx, 0xe0196d78
test eax, eax
je 0x40b1f2
mov ecx, 0x5963f80b
jmp 0x40b1f2
cmp eax, 0xcca0ae0f
jg 0x40a8a5
cmp eax, 0xbab04674
jg 0x40a9c1
cmp eax, 0xb6fc958a
jle 0x40abc8
cmp eax, 0xb6fc958b
je 0x40af9f
cmp eax, 0xb7228b91
je 0x40afb5
cmp eax, 0xb76d1135
jne 0x40a5d9
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x10], 0xe0f47d0b
jmp 0x40a5d9
cmp eax, 0x2d2eb518
jg 0x40aa0b
cmp eax, 0x27da3244
jle 0x40ac04
cmp eax, 0x27da3245
je 0x40afc1
cmp eax, 0x2b4829da
je 0x40ae95
cmp eax, 0x2d2ce308
jne 0x40a5d9
mov ebx, dword [ebp - 0x14]
shl ebx, 4
add ebx, 0x7d80
shr ebx, 0xc
add ebx, 0x93
mov dword [ebp - 0x14], ebx
call fcn.0040b5c8
push 0x41fd
push 0xe45
push ebx
push 0x3b19
call fcn.0040b9d0
add esp, 0x10
mov dword [ebp - 0x10], 0x60f7684c
jmp 0x40a5d9
cmp eax, 0xa3175afc
jg 0x40aa5f
cmp eax, 0x99afacd3
jle 0x40ac6c
cmp eax, 0x99afacd4
je 0x40b00b
cmp eax, 0x9d83e824
je 0x40b047
cmp eax, 0x9ec4daa9
jne 0x40a5d9
mov eax, dword [ebp - 0x70]
mov byte [eax], 0
mov dword [ebp - 0x10], 0x6508c43c
jmp 0x40a5d9
cmp eax, 0x6508c43b
jg 0x40aa9f
cmp eax, 0x5ce1c3ea
jle 0x40ac87
cmp eax, 0x5ce1c3eb
je 0x40b056
cmp eax, 0x60f7684c
je 0x40b08d
cmp eax, 0x6325024d
jne 0x40a5d9
mov eax, dword [ebp - 0x1c]
add eax, 0x24
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x10], 0x2d2eb519
jmp 0x40a5d9
cmp eax, 0xe0f47d0a
jg 0x40aafd
cmp eax, 0xd7f59a14
jle 0x40aca9
cmp eax, 0xd7f59a15
je 0x40b0c6
cmp eax, 0xd9f4c74f
je 0x40b0f7
cmp eax, 0xe0196d78
jne 0x40a5d9
mov eax, dword [ebp - 0x54]
push dword [ebp - 0x4c]
call eax
mov dword [ebp - 0x10], 0x9d83e824
jmp 0x40a5d9
cmp eax, 0x1300cd9f
jle 0x40acf4
cmp eax, 0x1300cda0
je 0x40b114
cmp eax, 0x1335be38
je 0x40b128
cmp eax, 0x184b7ead
jne 0x40a5d9
mov dword [ebp - 0x10], 0x69f4ad
jmp 0x40a5d9
cmp eax, 0x8cbc9032
jle 0x40ad2c
cmp eax, 0x8cbc9033
je 0x40b167
cmp eax, 0x9187a371
je 0x40b194
cmp eax, 0x937bbf6b
jne 0x40a5d9
mov eax, dword [ebp - 0x14]
shr eax, 0x11
imul ecx, eax, 0xcd
mov dword [ebp - 0x14], ecx
mov eax, 0x48c37501
cmp ecx, 0x12
jb 0x40b52a
mov eax, 0xcca0ae10
jmp 0x40b52a
cmp eax, 0x48c37500
jle 0x40ad5e
cmp eax, 0x48c37501
je 0x40b1bb
cmp eax, 0x50f6e66b
je 0x40b1d0
cmp eax, 0x51bd2630
jne 0x40a5d9
mov eax, dword [ebp - 0x18]
shl eax, 0xe
add eax, 0x1700a0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x24ae5f8a
jmp 0x40a5d9
cmp eax, 0xbd25fd97
jle 0x40ad9e
cmp eax, 0xbd25fd98
je 0x40b1fa
cmp eax, 0xc1f8ed49
je 0x40b212
cmp eax, 0xcc903aaa
jne 0x40a5d9
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
add eax, 0xb
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x10], 0x9ec4daa9
jmp 0x40a5d9
cmp eax, 0x38e745d5
jle 0x40add9
cmp eax, 0x38e745d6
je 0x40b225
cmp eax, 0x3c48eef2
je 0x40aeb0
cmp eax, 0x3e11c0be
jne 0x40a5d9
push eax
sub esp, 8
mov eax, esp
mov dword [ebp - 0x30], eax
sub esp, 0x22c
mov eax, esp
mov dword [ebp - 0x1c], eax
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0x48c37501
jmp 0x40a5d9
cmp eax, 0xa54e5c90
jle 0x40ae09
cmp eax, 0xa54e5c91
je 0x40b245
cmp eax, 0xa7992a69
je 0x40b279
cmp eax, 0xa7b17fcd
jne 0x40a5d9
mov eax, dword [ebp - 0x54]
push dword [ebp - 0x50]
call eax
mov dword [ebp - 0x10], 0xa54e5c91
jmp 0x40a5d9
cmp eax, 0x6974e1dd
jle 0x40ae2b
cmp eax, 0x6974e1de
je 0x40b2a0
cmp eax, 0x6f12b219
je 0x40b2bb
cmp eax, 0x73342376
jne 0x40a5d9
push 0x18
push 0x46c540
push dword [ebp - 0x34]
call fcn.00447850
add esp, 0xc
push 5
push 0x46c558
push 0xc
push dword [ebp - 0x34]
call fcn.0040b8b0
add esp, 0x10
mov dword [ebp - 0x10], 0xe5acd740
jmp 0x40a5d9
cmp eax, 0xe5acd73f
jle 0x40ae62
cmp eax, 0xe5acd740
je 0x40b315
cmp eax, 0xe5dfa1d0
je 0x40b33c
cmp eax, 0xeb8fa61f
jne 0x40a5d9
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x10], 0xa32a6cc8
jmp 0x40a5d9
cmp eax, 0xf11269bb
je 0x40b369
cmp eax, 0xf6f31fa8
jne 0x40b5b5
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x68]
push dword [eax]
push 0
push 1
call ecx
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x50], 0
mov eax, 0x184b7ead
je 0x40b52a
mov eax, 0xb6fc958b
jmp 0x40b52a
cmp eax, 0x8371e051
je 0x40b378
cmp eax, 0x8456efa9
jne 0x40a5d9
mov eax, dword [ebp - 0x5c]
push 0
push 0xf
call eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0x6974e1de
jmp 0x40a5d9
cmp eax, 0x41d92439
je 0x40b3bd
cmp eax, 0x42bd2fc1
jne 0x40a5d9
mov dword [ebp - 0x10], 0x8456efa9
jmp 0x40a5d9
cmp eax, 0xac5fe779
je 0x40b3d7
cmp eax, 0xafae64a0
jne 0x40a5d9
imul ecx, dword [ebp - 0x14], 0xb6
add ecx, 0x3608
mov dword [ebp - 0x14], ecx
mov eax, 0xf9579f9
cmp ecx, 0xc2
jb 0x40b03d
jmp 0x40b52a
cmp eax, 0x24ae5f8a
je 0x40b3f2
cmp eax, 0x24c4ac5f
jne 0x40a5d9
mov edi, 0x18
push edi
push 0x479850
push dword [ebp - 0x38]
call fcn.00447850
add esp, 0xc
push 4
push 0x479868
push edi
push dword [ebp - 0x38]
call fcn.0040b9d0
add esp, 0x10
push 0x19
push dword [ebp - 0x38]
lea edi, [ebp - 0xa5]
push edi
call fcn.00447850
add esp, 0xc
push edi
push dword [ebp - 0x20]
call esi
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x10], 0xd7f59a15
jmp 0x40a5d9
cmp eax, 0x948b4e36
je 0x40b40b
cmp eax, 0x968581c2
je 0x40b15b
jmp 0x40a5d9
cmp eax, 0x573d535a
je 0x40b449
cmp eax, 0x5963f80b
jne 0x40a5d9
mov dword [ebp - 0x10], 0xe291ce19
jmp 0x40a5d9
cmp eax, 0xcca0ae10
je 0x40b455
cmp eax, 0xd19c6e24
jne 0x40a5d9
imul eax, dword [ebp - 0x18], 0x61
shr eax, 0xe
mov ecx, eax
imul ecx, eax
imul edx, ecx, 0x5791
shl eax, 0xf
dec edx
add eax, 0xffe37f48
mov dword [ebp - 0x18], eax
mov eax, 0x892dc24b
cmp edx, ecx
je 0x40b52a
mov eax, 0x5963f80b
jmp 0x40b52a
cmp eax, 0x9d05032
je 0x40b474
cmp eax, 0xf9579f9
jne 0x40a5d9
mov ecx, dword [ebp - 0x14]
shr ecx, 0xb
add ecx, 0xffffff9d
mov dword [ebp - 0x14], ecx
mov eax, 0xe5acd740
cmp ecx, 0xf7
jb 0x40b03d
jmp 0x40b52a
cmp eax, 0x8a09f1a1
je 0x40b483
cmp eax, 0x8a50d471
jne 0x40a5d9
push 0x11
push dword [ebp - 0x44]
push dword [ebp - 0x2c]
call fcn.00447850
add esp, 0xc
mov dword [ebp - 0x10], 0x41d92439
jmp 0x40a5d9
cmp eax, 0x4836b842
je 0x40b48f
cmp eax, 0x4859d937
jne 0x40a5d9
mov ebx, dword [ebp - 0x14]
mov eax, 0xffffff5f
add ebx, eax
mov dword [ebp - 0x14], ebx
call fcn.0040b5c8
mov eax, 0x27da3245
cmp ebx, 0x47
jge 0x40b52a
mov eax, 0x1335be38
jmp 0x40b52a
cmp eax, 0xbab04675
je 0x40b4d0
cmp eax, 0xbb90c67c
jne 0x40a5d9
push eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x24], eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x28], eax
sub esp, 0x14
mov eax, esp
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x10], 0x3e11c0be
jmp 0x40a5d9
cmp eax, 0x2d2eb519
je 0x40b4fd
cmp eax, 0x337bd74f
jne 0x40a5d9
mov eax, dword [ebp - 0x18]
shl eax, 0x10
add eax, 0xffee7fa7
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x573d535a
jmp 0x40a5d9
cmp eax, 0xa3175afd
je 0x40b512
cmp eax, 0xa32a6cc8
jne 0x40a5d9
mov dword [ebp - 0x10], 0x87e8b295
jmp 0x40a5d9
cmp eax, 0x6508c43c
je 0x40b532
cmp eax, 0x66d8f922
jne 0x40a5d9
imul eax, dword [ebp - 0x18], 0xbe
shr eax, 5
imul eax, eax, 0x54
add eax, 0xffffff8a
shr eax, 1
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x38e745d6
jmp 0x40a5d9
cmp eax, 0xe0f47d0b
je 0x40b566
cmp eax, 0xe291ce19
jne 0x40a5d9
push dword [ebp + 8]
push dword [ebp - 0x74]
call fcn.0045999d
add esp, 8
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x10], 0x51bd2630
jmp 0x40a5d9
imul eax, dword [ebp - 0x18], 0x1f00
add eax, 0x1c2ec0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xcc903aaa
jmp 0x40a5d9
mov eax, dword [ebp - 0x14]
shl eax, 0x13
or eax, 0x5a
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xc1f8ed49
jmp 0x40a5d9
push eax
sub esp, 0xc
mov eax, esp
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov byte [eax + 0xe], 0
mov eax, dword [ebp - 0x3c]
movzx ecx, word [0x47988f]
mov word [eax + 0xc], cx
mov ecx, dword [0x47988b]
mov dword [eax + 8], ecx
mov ecx, dword [0x479887]
mov dword [eax + 4], ecx
mov ecx, dword [0x479883]
mov dword [eax], ecx
mov dword [ebp - 0x10], 0x9187a371
jmp 0x40a5d9
mov dword [ebp - 0x10], 0xf6f31fa8
jmp 0x40a5d9
mov eax, dword [ebp - 0x18]
shl eax, 0xa
add eax, 0xfffffff8
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xa7b17fcd
jmp 0x40a5d9
push eax
sub esp, 0x10
mov eax, esp
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x10], 0xd9f4c74f
jmp 0x40a5d9
mov ecx, dword [ebp - 0x14]
shr ecx, 6
and ecx, 0xffffffc0
lea eax, [ecx - 0x94]
mov dword [ebp - 0x14], eax
mov eax, 0xafae64a0
cmp ecx, 0x139
jb 0x40b30b
jmp 0x40b52a
mov eax, dword [ebp - 0x44]
mov ecx, dword [0x4798b7]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x4798b3]
mov dword [eax + 8], ecx
mov ecx, dword [0x4798af]
mov dword [eax + 4], ecx
mov ecx, dword [0x4798ab]
mov dword [eax], ecx
mov dword [ebp - 0x10], 0x66d8f922
jmp 0x40a5d9
mov eax, dword [ebp - 0x6c]
push 0
push dword [ebp - 0x50]
call eax
mov dword [ebp - 0x10], 0x846455cb
jmp 0x40a5d9
mov dword [ebp - 0x10], 0xf11269bb
jmp 0x40a5d9
push 8
push 0x479891
push 0xe
push dword [ebp - 0x3c]
call fcn.0040b9d0
add esp, 0x10
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ecx + 0xb]
mov dword [eax + 0xb], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov dword [eax], edx
push dword [ebp - 0x24]
push dword [ebp - 0x20]
call esi
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x10], 0x8a09f1a1
jmp 0x40a5d9
mov eax, dword [ebp - 0x18]
mov ecx, 0xffffff31
add eax, ecx
shr eax, 0xc
lea ecx, [eax - 0x1a]
imul ecx, ecx
imul edx, ecx, 0x2633
dec edx
shl eax, 5
add eax, 0x36e
mov dword [ebp - 0x18], eax
mov eax, 0x3e11c0be
cmp edx, ecx
je 0x40b52a
mov eax, 0x73342376
jmp 0x40b52a
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0xbd25fd98
jmp 0x40a5d9
mov eax, dword [ebp - 0x14]
shl eax, 0x15
add eax, 0xffffff64
mov dword [ebp - 0x14], eax
push 0x37c1
push 0x5420
push 0xecd
push eax
call fcn.0040b8b0
add esp, 0x10
call fcn.0040b5c8
mov dword [ebp - 0x10], 0x48c37501
jmp 0x40a5d9
imul eax, dword [ebp - 0x14], 0x83
shr eax, 0xa
lea ebx, [eax + eax*8]
shl ebx, 4
add ebx, 0x55
mov dword [ebp - 0x14], ebx
push ebx
call fcn.0040a5c0
add esp, 4
push 0x5a1c
push ebx
push 0x1183
push 0x5fc8
call fcn.0040b8b0
jmp 0x40b158
mov eax, dword [ebp - 0x18]
lea ecx, [eax - 0x56]
imul ecx, ecx
imul edx, ecx, 0x3325
dec edx
add eax, eax
add eax, 0xfffffeed
mov dword [ebp - 0x18], eax
mov eax, 0x24c4ac5f
cmp edx, ecx
je 0x40b52a
mov eax, 0x968581c2
jmp 0x40b52a
mov eax, dword [ebp - 0x18]
shl eax, 0xe
add eax, 0xffde4000
shr eax, 0xf
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xc1f8ed49
jmp 0x40a5d9
mov eax, dword [ebp - 0x58]
mov word [eax], 0
mov dword [ebp - 0x10], 0x99afacd4
jmp 0x40a5d9
mov eax, dword [ebp - 0x14]
shr eax, 5
mov ecx, eax
shl ecx, 8
sub ecx, eax
shr ecx, 9
imul eax, ecx, 0x47
add eax, 0x163
mov dword [ebp - 0x14], eax
push 0x3696
push eax
push 0x4257
push 0x23b7
call fcn.0040b9d0
add esp, 0x10
mov dword [ebp - 0x10], 0x892dc24b
jmp 0x40a5d9
imul ecx, dword [ebp - 0x14], 0xf5
mov eax, ecx
shr eax, 9
add eax, 0xffffff9a
mov dword [ebp - 0x14], eax
mov eax, 0x73342376
cmp ecx, 0x1ee00
jb 0x40b52a
mov eax, 0x948b4e36
jmp 0x40b52a
imul eax, dword [ebp - 0x18], 0xfa
shr eax, 5
and eax, 0xfffffff8
imul eax, eax, 0xb7
add eax, 0xffff76c0
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0x27da3245
jmp 0x40a5d9
mov eax, dword [ebp - 0x34]
add eax, 0x18
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x10], 0x1300cda0
jmp 0x40a5d9
mov eax, dword [ebp - 0x1c]
mov dword [eax], 0x22c
mov eax, dword [ebp - 0x60]
push dword [ebp - 0x1c]
push dword [ebp - 0x4c]
call eax
mov ecx, 0xe0196d78
test eax, eax
je 0x40b1f2
mov ecx, 0x6325024d
mov dword [ebp - 0x10], ecx
jmp 0x40a5d9
mov eax, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xfb24f015
jmp 0x40a5d9
mov eax, dword [ebp - 0x44]
mov byte [eax + 0x10], 0
mov dword [ebp - 0x10], 0x43c33c99
jmp 0x40a5d9
push 7
push 0x4798bb
push 0x10
push dword [ebp - 0x44]
call fcn.0040b9d0
add esp, 0x10
mov dword [ebp - 0x10], 0x8a50d471
jmp 0x40a5d9
mov eax, dword [ebp - 0x18]
mov ecx, 0xa7
add eax, ecx
shr eax, 0xe
lea ecx, [eax + 0x36]
imul ecx, ecx
imul edx, ecx, 0x67d7
dec edx
add eax, 0xffffff5d
mov dword [ebp - 0x18], eax
mov eax, 0xa3175afd
cmp ecx, edx
jne 0x40b401
jmp 0x40b52a
mov ecx, dword [ebp - 0x14]
add ecx, 0xffffffb9
shr ecx, 0x12
add ecx, 0xffffffb5
mov dword [ebp - 0x14], ecx
mov eax, 0x4859d937
cmp ecx, 0x49
jb 0x40b52a
mov eax, 0x87e8b295
jmp 0x40b52a
imul eax, dword [ebp - 0x18], 0x98
add eax, 0xffffff06
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x10], 0xb7228b91
jmp 0x40a5d9
mov ebx, dword [ebp - 0x14]
shl ebx, 9
add ebx, 0x1e80
mov dword [ebp - 0x14], ebx
push 0x3b4b
push ebx
push 0x23fc
push 0x37c2
call fcn.0040b9d0
add esp, 0x10
push 0x1db0
push ebx
push 0x4f77
push 0x213f
call fcn.0040b8b0
add esp, 0x10
mov eax, 0x3e11c0be
cmp ebx, 0xfe
jge 0x40b52a
mov eax, 0x48c37501
jmp 0x40b52a
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
mov dword [ebp - 0x20], eax
sub esp, 0x1c
mov eax, esp
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
mov byte [eax + 0x18], 0
mov dword [ebp - 0x10], 0x24c4ac5f
jmp 0x40a5d9
mov ecx, dword [ebp - 0x14]
shr ecx, 0x11
and ecx, 0xfff
add ecx, 0xffffff73
mov dword [ebp - 0x14], ecx
mov eax, 0x2d2ce308
cmp ecx, 0x32
je 0x40b52a
mov eax, 0x8cbc9033
jmp 0x40b52a
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x10], 0x50f6e66b
jmp 0x40a5d9
mov ebx, dword [ebp - 0x14]
dec ebx
and ebx, 0x3ffffff
mov dword [ebp - 0x14], ebx
push 0x42cf
push ebx
push 0xbda
push 0x3660
call fcn.0040b8b0
add esp, 0x10
call fcn.0040b5c8
mov eax, 0x937bbf6b
cmp ebx, 0x81
je 0x40b52a
mov eax, 0x5ce1c3eb
jmp 0x40b52a
push dword [ebp - 0x2c]
push dword [ebp - 0x20]
call esi
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x10], 0x2b4829da
jmp 0x40a5d9
lea eax, [ebp - 0x8c]
push eax
push dword [ebp - 0x20]
call esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x10], 0x337bd74f
jmp 0x40a5d9
cmp dword [ebp - 0x7c], 0
mov eax, 0xfddc0a35
je 0x40b52a
mov eax, 0x184b7ead
jmp 0x40b52a
mov eax, dword [ebp - 0x14]
shr eax, 8
imul eax, eax, 0xb0
shr eax, 9
imul ebx, eax, 0x6900
mov dword [ebp - 0x14], ebx
push ebx
call fcn.0040a5c0
add esp, 4
call fcn.0040b5c8
mov eax, 0x9ec4daa9
cmp ebx, 0x15
jl 0x40b52a
mov eax, 0x27da3245
jmp 0x40b52a
mov dword [ebp - 0x10], 0x9d05032
jmp 0x40a5d9
mov eax, dword [ebp - 0x14]
shr eax, 0xc
and eax, 0xffc00
add eax, 0xffffff51
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xbb90c67c
jmp 0x40a5d9
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x10], 0xfc661b1c
jmp 0x40a5d9
mov dword [ebp - 0x10], 0xb76d1135
jmp 0x40a5d9
push 7
push 0x4798cd
push 0xb
push dword [ebp - 0x48]
call fcn.0040b9d0
add esp, 0x10
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov dword [eax], edx
push dword [ebp - 0x30]
push dword [ebp - 0x20]
call esi
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x10], 0x42bd2fc1
jmp 0x40a5d9
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x40]
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov dword [eax], edx
push dword [ebp - 0x28]
push dword [ebp - 0x20]
call esi
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x10], 0xeb8fa61f
jmp 0x40a5d9
mov eax, dword [ebp - 0x1c]
add eax, 8
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x10], 0xd19c6e24
jmp 0x40a5d9
imul ecx, dword [ebp - 0x14], 0x30800
mov dword [ebp - 0x14], ecx
mov eax, 0x3c48eef2
test ecx, ecx
je 0x40b52a
mov eax, 0x24ae5f8a
mov dword [ebp - 0x10], eax
jmp 0x40a5d9
mov eax, dword [ebp - 0x48]
mov cl, byte [0x4798cc]
mov byte [eax + 0xa], cl
movzx ecx, word [0x4798ca]
mov word [eax + 8], cx
mov ecx, dword [0x4798c6]
mov dword [eax + 4], ecx
mov ecx, dword [0x4798c2]
mov dword [eax], ecx
mov dword [ebp - 0x10], 0x4836b842
jmp 0x40a5d9
mov eax, dword [ebp - 0x40]
mov byte [eax + 0xb], 0
mov eax, dword [ebp - 0x40]
mov cl, byte [0x4798a3]
mov byte [eax + 0xa], cl
movzx ecx, word [0x4798a1]
mov word [eax + 8], cx
mov ecx, dword [0x47989d]
mov dword [eax + 4], ecx
mov ecx, dword [0x479899]
mov dword [eax], ecx
push 7
push 0x4798a4
push 0xb
push dword [ebp - 0x40]
call fcn.0040b9d0
add esp, 0x10
mov dword [ebp - 0x10], 0xbab04675
jmp 0x40a5d9
cmp eax, 0xfb24f015
jne 0x40a5d9
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret