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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
push esi
jmp 0x415408
push edi
push 0
push 0
call dword [0x4233dc]
mov eax, dword [0x42c020]
movzx eax, byte [eax]
push eax
call dword [sym.imp.USER32.dll_IsCharAlphaNumericA]
test eax, eax
jne 0x415437
dec dword [0x431de9]
xor eax, eax
jmp 0x4192f0
mov esi, 0x1ff
mov eax, 0x7cde
inc dword [0x431cc5]
mov word [esp + 0xc], ax
cmp dword [0x431cf1], 0
mov dword [0x431cbd], ebx
mov dword [0x431eed], 0x721d
jmp 0x4154ab
push 2
add eax, 0x635c
pop eax
mov word [esp + 0x30], ax
sbb eax, 0x5306
mov eax, 0x4b0f
mov word [esp + 0x20], ax
and dword [0x431df1], 0x5e6b
mov ax, word [esp + 0x20]
add dword [0x431cf9], 0x431dbd
mov cx, word [esp + 0x30]
adc dword [0x431ccd], 0x4975
movzx eax, ax
or eax, 0x1cc
cdq
sbb dword [0x431dbd], 0x431cd9
movzx ecx, cx
sbb dword [0x431cbd], 0x16b7
idiv ecx
sub dword [0x431df5], ebx
movzx ecx, word [esp + 0xc]
or eax, ecx
or ecx, dword [0x431cbd]
mov word [esp + 0xc], ax
neg ecx
mov eax, 0x7949
xor ecx, ecx
xor ecx, dword [0x431d85]
mov ecx, dword [ecx]
adc dword [0x431da9], ecx
mov word [esp + 0x30], ax
cmp dword [0x431e6d], 0
mov dword [0x431ef5], 0x7dcc
mov dword [0x431ee5], ebx
mov dword [0x431f05], 0x6d4a
jmp 0x4155d1
mov eax, 0x5cef
sbb dword [0x431e6d], 0x431cfd
jmp 0x4158a3
mov word [esp + 0x20], ax
and ecx, dword [0x431db5]
mov ax, word [esp + 0x20]
and dword [0x431ced], edx
mov ecx, 0x7c00
adc dword [0x431e65], 0xa02
sub ax, cx
mov cx, word [esp + 0x30]
xor ax, cx
mov ecx, 0x19a1
sub ax, cx
mov dword [0x431dc9], 0x5b7d
mov cx, word [esp + 0xc]
cmp cx, ax
mov dword [0x431eed], 0x61c2
jb 0x415db9
cmp dword [0x431d95], 0
mov ecx, 0x1d26
mov dword [0x431ee1], edi
jmp 0x415970
mov dword [esp + 0x2c], 0x433d
movzx ecx, word [0x431e71]
sbb dword [0x431dcd], ecx
mov dword [esp + 0xc], 1
mov dword [esp + 0x30], 0x5a3a
and dword [0x431cc1], 0x19a0
mov dword [esp + 0x20], 0x74ba
mov eax, dword [0x431f25]
mov eax, dword [eax]
sbb dword [0x431ef1], eax
mov eax, dword [esp + 0x20]
and dword [0x431e79], 0x1312
xor eax, 0x25fc
mov ecx, dword [0x431e71]
adc dword [0x431f0d], ecx
add eax, dword [esp + 0x30]
mov ecx, dword [0x431e19]
mov ecx, dword [ecx]
xor dword [0x431dc1], ecx
mov ecx, dword [esp + 0xc]
sub dword [0x431ef1], 0x431ce1
xor edx, edx
sub dword [0x431f05], 0x1b72
div ecx
or ecx, dword [0x431f05]
mov ecx, dword [esp + 0x2c]
and dword [0x431dcd], 0x542
add eax, 0x1bdd
adc dword [0x431dc1], 0x431f05
and eax, ecx
push dword [eax + 0x41bd8757]
or dword [0x431dc5], 0x431cd5
push dword [0x918939f1]
sbb dword [0x431e91], 0x431d9d
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
mov dword [esp + 0xc], 0x6937
not ecx
mov dword [esp + 0x30], 0x3c3a
mov dword [esp + 0x20], 0x1286
sub dword [0x431dc9], edx
mov eax, dword [esp + 0x20]
and dword [0x431e89], edx
mov ecx, dword [esp + 0x30]
sub dword [0x431dc9], 0x5a81
and eax, 0x5446
or eax, ecx
mov ecx, dword [esp + 0xc]
xor dword [0x431dc1], 0x778e
and eax, ecx
xor eax, 0x655cdb74
push dword [eax]
adc dword [0x431e85], 0x2f56
push dword [0x8661fe94]
call dword [sym.imp.COMCTL32.dll_ImageList_Write]
sub dword [0x431e55], ebx
push dword [0x7879e94d]
mov dword [esp + 0x14], 0x4df9
mov dword [esp + 0x3c], 0x5215
cmp dword [0x431e79], 0
mov dword [0x431cc9], 0x6196
mov ecx, 0x53a4
jmp 0x415b57
mov dword [esp + 0x54], 0x6dcf
xor dword [0x431df9], edx
mov dword [esp + 0x48], 0x55b3
mov dword [esp + 0x30], 0x204a
cmp dword [0x431ed5], 0
mov ecx, 0x475a
mov dword [0x431ed5], 0x1476
jmp 0x415c30
mov dword [esp + 0x10], 0x5d22
mov dword [esp + 0x34], 0x3c2f
xor eax, eax
mov dword [esp + 0x24], 0x5b4e
mov eax, dword [esp + 0x24]
and dword [0x431ccd], edx
mov ecx, 0x742c
sub ecx, eax
mov dword [0x431ee1], 0x5a9e
mov eax, dword [esp + 0x34]
or dword [0x431ddd], 0x2871
or ecx, 0x6785
and ecx, eax
mov eax, 0x9fc2bec5
sub eax, ecx
cmp dword [0x431f09], 0
mov dword [0x431df1], edi
mov dword [0x431dfd], 0x2580
mov dword [0x431ee9], 0x5369
jmp 0x415cef
push dword [eax]
mov eax, dword [esp + 0x14]
xor dword [0x431db1], ecx
mov ecx, dword [esp + 0x34]
add dword [0x431cc9], 0x431d95
add eax, 0x5af1
and eax, ecx
xor dword [0x431de9], edx
mov ecx, dword [esp + 0x4c]
sub eax, ecx
sbb dword [0x431ddd], edx
mov ecx, dword [esp + 0x58]
xor eax, 0x704e
sub dword [0x431e71], 0x431cc9
and eax, ecx
and dword [0x431da1], 0x431dd1
push dword [eax - 0x3bfb0d63]
xor eax, eax
mov eax, dword [esp + 0x44]
sbb dword [0x431cf1], ebx
mov ecx, dword [esp + 0x1c]
and dword [0x431db5], 0x431dc1
imul eax, eax, 0x1343
xor dword [0x431e7d], 0x1206
xor eax, 0x284e
sub dword [0x431d01], 0x3f7e
or eax, ecx
mov dword [0x431ee9], 0x12ce
mov ecx, 0x2f662289
sub dword [0x431ccd], 0x431dd9
sub ecx, eax
add dword [0x431e61], 0x431dbd
push dword [ecx]
and dword [0x431ef9], 0x4a55
call dword [sym.imp.USER32.dll_DefWindowProcW]
dec esi
jne 0x41543c
or esi, 0x3218
mov dword [esp + 0x18], 0xca69a574
xor esi, esi
add esi, dword [0x431dad]
adc dword [0x431e75], esi
mov esi, 0x9c0b89d8
mov dword [0x431da1], 0x43a0
mov dword [esp + 0x1c], esi
and dword [0x431dfd], 0x431e7d
mov dword [esp + 0x70], 0xca69a570
mov dword [esp + 0x74], esi
call fcn.00407f49
lea eax, [esp + 0x4c]
xor dword [0x431dd1], 0x19f
mov dword [esp + 0x20], eax
cmp dword [0x431cd9], 0
mov dword [0x431dfd], 0x70ad
mov ebx, 0x33ab
mov ebx, 0x2be4
jmp 0x415e8f
lea eax, [esp + 0x5c]
adc dword [0x431ee9], edi
mov dword [esp + 0x10], eax
sbb dword [0x431e11], 0x4db4
mov eax, dword [0x42c224]
or dword [0x431d9d], 0x2a40
mov eax, dword [eax + 0x1d8]
mov eax, dword [eax]
mov ecx, eax
cmp dword [0x431ce1], 0
mov dword [0x431f11], 0x4a72
not edi
mov dword [0x431dc1], ecx
jmp 0x415f90
xor ecx, 0xa3f69a9f
jmp 0x416259
xor eax, 0xfffffffe
inc edi
shl eax, 0x1e
shr ecx, 2
or ecx, eax
inc dword [0x431d05]
mov eax, dword [esp + 0x10]
cmp dword [0x431cdd], 0
mov dword [0x431da9], 0x200d
mov dword [0x431de1], 0x5828
mov dword [0x431eed], edx
mov dword [0x431eed], 0x13a9
jmp 0x4162ff
mov dword [eax], ecx
inc edi
mov edi, 0xca69a564
mov dword [esp + 0x80], edi
mov dword [esp + 0x84], esi
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
shrd eax, ecx, 2
cmp dword [0x431cc1], 0
mov dword [0x431dc9], ebx
mov dword [0x431cc1], 0x7b4d
mov dword [0x431db9], edi
not edx
jmp 0x416399
shr ecx, 2
mov ecx, dword [esp + 0x80]
inc ebx
mov edx, dword [esp + 0x84]
cmp dword [0x431ee1], 0
mov dword [0x431e11], 0x4b4c
mov ebx, 0x85c
mov dword [0x431f01], 0x3915
jmp 0x416414
mov ebx, 0x329a695d
and dword [0x431d95], 0x431e8d
xor eax, ebx
add dword [0x431ef9], 0x56c7
xor edx, edx
sbb dword [0x431ccd], 0x431cd5
or edx, eax
xor eax, eax
xor eax, dword [0x431da9]
add dword [0x431e7d], eax
mov eax, dword [0x42c224]
and dword [0x431d01], 0x431e91
push edx
add dword [0x431e11], 0x268f
push dword [eax + 0x19c]
lea eax, [esp + 0x84]
push eax
sub dword [0x431f09], 0x323d
shl ecx, 0x1e
call fcn.00410c5c
xor dword [0x431cd1], 0x2175
lea eax, [ebp + 0x10]
push eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], esi
lea eax, [ebp + 0xc]
xor dword [0x431dd5], 0x431ef1
push eax
add dword [0x431dd9], 0x431e05
mov dword [esp + 0x18], edi
lea eax, [ebp + 8]
and dword [0x431df1], 0xd61
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], edi
and dword [0x431dc5], 0x7697
mov dword [esp + 0x1c], esi
push eax
adc dword [0x431dd1], 0x431cc9
call fcn.004094ae
sbb dword [0x431e65], 0x431e09
push 4
push 0x42c0a8
push dword [esp + 0x28]
call fcn.00410c5c
add eax, eax
mov eax, dword [esp + 0x20]
mov ecx, dword [0x431ded]
sbb dword [0x431db9], ecx
mov ecx, dword [esp + 0x20]
add dword [0x431e91], 0x550a
mov eax, dword [eax]
mov edi, dword [0x431d2d]
xor edx, edx
add edx, dword [0x431ea9]
sub edx, edi
or edi, dword [edi + edx]
mov ecx, dword [ecx]
or edx, 0x7213
shr eax, 0x1e
cmp dword [0x431cf1], 0
mov edx, dword [0x431e69]
not dword [0x431eed]
not edi
jmp 0x4165a0
shl ecx, 2
cmp dword [0x431e5d], 0
not dword [0x431ddd]
mov dword [0x431e59], ecx
mov dword [0x431cf9], 0x29c9
jmp 0x41660d
or eax, ecx
sub dword [0x431db5], 0x3869
mov ecx, dword [esp + 0x20]
xor edi, dword [0x431ef9]
xor eax, 0xa3f69a9e
mov dword [ecx], eax
dec edx
lea eax, [esp + 0x48]
cmp dword [0x431ce1], 0
mov dword [0x431e11], 0x7e4e
mov ecx, dword [0x431ced]
movzx edi, word [0x431ee9]
jmp 0x4166a9
mov dword [esp + 0x90], eax
xor ecx, edi
lea eax, [esp + 0x90]
cmp dword [0x431db5], 0
mov dword [0x431dbd], edx
mov dword [0x431eed], 0x6217
jmp 0x41673d
mov dword [esp + 0x94], eax
movzx ecx, word [0x431e79]
and dword [0x431dfd], ecx
mov eax, dword [esp + 0x48]
sub dword [esp + 0x48], eax
lea eax, [ebp + 4]
cmp dword [0x431da5], 0
mov edx, 0x2ba
mov ecx, 0x5e2b
mov dword [0x431cd5], ebx
jmp 0x4167dd
xor dword [esp + 0x48], eax
mov edx, dword [0x431e6d]
sbb dword [0x431da5], edx
mov dword [esp + 0x38], 0x5b3d
mov dword [esp + 0x3c], 0x4445
mov dword [esp + 0x10], 0xa52
jmp 0x416ac8
mov dword [esp + 0x14], 0x1c69
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
add eax, 0xffffd1a5
adc ecx, 0xffffedf0
xor eax, edx
xor ecx, edi
and eax, 0x325d
mov dword [esp + 0x20], eax
and ecx, 0x3544
mov dword [esp + 0x24], ecx
mov dword [esp + 0x50], 0x1704
mov dword [esp + 0x54], 0x4a75
mov dword [esp + 0x38], 0x985
mov dword [esp + 0x3c], 0x341
mov dword [esp + 0x10], 0x5aa9
mov dword [esp + 0x14], 0x221a
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
jmp 0x416e05
push edi
push edx
or ecx, 0xc32
or eax, 0x502a
jmp 0x4170d5
push ecx
push eax
call fcn.00414357
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
sub eax, ecx
mov ecx, dword [esp + 0x20]
sbb edx, edi
mov edi, dword [esp + 0x24]
cmp ecx, eax
jne 0x417100
cmp edi, edx
je 0x418908
mov dword [esp + 0x38], 0x71ba
mov dword [esp + 0x3c], 0x5f78
mov dword [esp + 0x10], 0x7b9c
mov dword [esp + 0x14], 0x5622
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
add eax, 0x3646
adc ecx, 0x7ace
xor eax, 0x3e2e
xor ecx, 0x4b71
and eax, edx
mov dword [esp + 0x30], eax
and ecx, edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x20], 0x18d6
mov dword [esp + 0x24], 0x2bb4
mov dword [esp + 0x50], 0x14
mov dword [esp + 0x54], 0
mov dword [esp + 0x38], 1
mov dword [esp + 0x3c], 0
mov dword [esp + 0x10], 0xa87
jmp 0x41744d
mov dword [esp + 0x14], 0x7fd9
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
push 2
push 0x7f349462
xor ecx, 0x3601
xor eax, 0x5491
push ecx
push eax
call fcn.00421f4d
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
push edi
push ecx
push edx
push eax
call fcn.00421f4d
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
jmp 0x417752
push edi
push ecx
push edx
push eax
call fcn.00421f4d
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
add eax, ecx
mov ecx, dword [esp + 0x30]
adc edx, edi
jmp 0x417a2e
mov edi, dword [esp + 0x34]
cmp ecx, eax
jne 0x417a42
cmp edi, edx
je 0x418908
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor edi, edi
xor eax, ebx
xor edi, 0xe702e276
shld edi, eax, 2
shl eax, 2
cmp eax, ecx
jne 0x417a6f
cmp edi, edx
je 0x418908
mov eax, dword [esp + 0x4c]
cmp eax, 0xa3f69a9a
je 0x417abd
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
xor eax, esi
xor edx, 0xca69a577
shrd edx, eax, 2
mov edi, ecx
shr eax, 2
shl edi, 0x1e
or edi, eax
mov eax, dword [esp + 0x5c]
xor ecx, ecx
or ecx, edx
cdq
cmp ecx, eax
jne 0x418908
cmp edi, edx
jne 0x418908
mov dword [esp + 0x64], 0x42c2c0
mov dword [esp + 0x60], 0x42c2b8
jmp 0x417d90
mov eax, dword [esp + 0x7c]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor edi, edi
xor eax, ebx
xor edi, 0xe702e276
shld edi, eax, 2
shl eax, 2
cmp ecx, eax
jne 0x418552
cmp edx, edi
jne 0x418552
mov dword [esp + 0x10], 0x42c248
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
shrd ecx, eax, 2
shr eax, 2
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor ecx, ebx
shl eax, 0x1e
xor eax, eax
or eax, ecx
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 0xc]
cmp eax, dword [ecx]
jne 0x4184f1
mov eax, 0x65c7
mov word [esp + 0xc], ax
jmp 0x4180c5
mov eax, 0x6062
mov word [esp + 0x30], ax
mov eax, 0x125d
mov word [esp + 0x20], ax
movzx eax, word [esp + 0x20]
mov ecx, 0x2d0f
and ax, cx
mov cx, word [esp + 0x30]
or ax, cx
mov cx, word [esp + 0xc]
add ax, cx
or eax, 0x3b22
mov word [esp + 0x44], ax
mov eax, 0x57d4
mov word [esp + 0xc], ax
mov eax, 0x3b21
mov word [esp + 0x2c], ax
mov eax, 0x52fd
mov word [esp + 0x30], ax
mov eax, 0x2ce0
mov word [esp + 0x20], ax
jmp 0x4183eb
mov ax, word [esp + 0x20]
mov cx, word [esp + 0x30]
or ax, cx
mov ecx, 0x21a4
or ax, cx
mov cx, word [esp + 0xc]
sub ax, cx
mov cx, word [esp + 0x2c]
sub ax, cx
mov cx, word [esp + 0x44]
cmp cx, ax
jbe 0x4184f1
mov eax, 0x5008
mov word [esp + 0x30], ax
mov eax, 0x60ce
mov word [esp + 0x20], ax
movzx eax, word [esp + 0x20]
mov ecx, 0x2095
or ax, cx
mov cx, word [esp + 0x30]
sub ax, cx
mov ecx, 0x10de
or eax, 0x742f
imul eax, eax, 0x30b2
mov word [esp + 0x44], ax
mov eax, 0x6143
mov word [esp + 0x2c], ax
mov eax, 0x679f
mov word [esp + 0xc], ax
mov eax, 0x1210
mov word [esp + 0x30], ax
mov eax, 0x3308
mov word [esp + 0x20], ax
mov ax, word [esp + 0x20]
sub ax, cx
mov cx, word [esp + 0x30]
xor ax, cx
mov cx, word [esp + 0xc]
imul ax, cx
mov cx, word [esp + 0x2c]
and ax, cx
mov ecx, 0x694c
and ax, cx
mov cx, word [esp + 0x44]
cmp cx, ax
ja 0x4184f1
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
shrd eax, ecx, 2
shr ecx, 2
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor eax, ebx
xor edx, edx
or edx, eax
push edx
push esi
push 0xca69a564
lea eax, [esp + 0x7c]
push eax
lea eax, [esp + 0x28]
push eax
shl ecx, 0x1e
call fcn.00410400
push dword [esp + 0x74]
push dword [esp + 0x74]
push dword [esp + 0x24]
push dword [esp + 0x24]
call fcn.00410fcb
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
shrd ecx, eax, 2
shr eax, 2
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
shl eax, 0x1e
xor eax, eax
xor ecx, ebx
or eax, ecx
mov ecx, dword [esp + 0x64]
mov dword [ecx], eax
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
shrd ecx, eax, 2
shr eax, 2
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
shl eax, 0x1e
xor ecx, ebx
xor eax, eax
or eax, ecx
mov ecx, dword [esp + 0x60]
mov dword [ecx], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x60]
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x4188ec
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x64]
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x4188ec
mov byte [esp + 0xc], 0x20
mov byte [esp + 0x2c], 3
mov byte [esp + 0x44], 0x6d
mov byte [esp + 0x2b], 0x90
mov al, byte [esp + 0x2b]
mov cl, byte [esp + 0x44]
or al, 0xdc
sub al, cl
mov cl, byte [esp + 0x2c]
sub al, 0x56
movzx eax, al
movzx ecx, cl
cdq
idiv ecx
movzx ecx, byte [esp + 0xc]
or eax, ecx
mov byte [esp + 0x20], al
mov byte [esp + 0x30], 1
mov byte [esp + 0x2b], 0xcf
mov byte [esp + 0x44], 6
mov byte [esp + 0x2c], 0x25
mov byte [esp + 0xc], 0xf8
mov al, byte [esp + 0xc]
mov cl, byte [esp + 0x2c]
jmp 0x418894
or al, 0xc4
and al, cl
mov cl, byte [esp + 0x44]
imul cl
mov cl, byte [esp + 0x2b]
movzx ecx, cl
movzx eax, al
and eax, ecx
mov cl, byte [esp + 0x30]
movzx ecx, cl
cdq
idiv ecx
mov cl, byte [esp + 0x20]
cmp cl, al
je 0x418908
lea eax, [esp + 0x94]
push eax
lea edi, [esp + 0x90]
call fcn.0040a74b
cmp eax, 0xca69a574
jne 0x418908
cmp edx, esi
jne 0x418908
jmp 0x41542a
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
add eax, edx
adc ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
push 4
push 0x42c224
lea eax, [esp + 0x70]
push eax
call fcn.00410c5c
mov eax, dword [esp + 0x68]
push 4
push dword [eax + 0x1a4]
lea eax, [esp + 0x74]
push eax
call fcn.00410c5c
mov eax, dword [esp + 0x68]
mov eax, dword [eax + 0x1a4]
mov eax, dword [eax]
mov ecx, dword [esp + 0x68]
mov eax, dword [eax + 0x3c]
mov ecx, dword [ecx + 0x1a4]
mov ecx, dword [ecx]
lea eax, [ecx + eax + 0x28]
mov eax, dword [eax]
add dword [esp + 0x6c], eax
mov dword [esp + 0x38], 0x127
mov dword [esp + 0x10], 0x421a
mov eax, dword [esp + 0x10]
and eax, 0xffffc244
add eax, dword [esp + 0x38]
and eax, 0xfffffe5a
jmp 0x418c39
sub eax, 0x2ae1
and eax, 0x6f90
mov dword [esp + 0x38], eax
mov dword [esp + 0x10], 0x1515
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x38]
or eax, 0x7113
add eax, 0x3d6a
cmp ecx, eax
je 0x4192e7
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
xor edi, edi
xor eax, ebx
xor edi, 0xe702e276
shld edi, eax, 2
shl eax, 2
cmp eax, ecx
jne 0x418f59
cmp edi, edx
jmp 0x418f53
je 0x4192a0
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x4c]
xor ecx, 0xfffffffe
xor eax, 0xa3f69a9f
shl ecx, 0x1e
shr eax, 2
or eax, ecx
xor ecx, ecx
xor ecx, 0xe702e276
jmp 0x419244
xor eax, ebx
and ecx, 0x3fffffff
cmp eax, 0x329a695c
jne 0x419263
cmp ecx, 0x2702e276
je 0x4192e7
mov eax, dword [esp + 0x5c]
cdq
mov eax, dword [esp + 0x5c]
mov ecx, edx
cdq
shld edx, eax, 2
shr ecx, 0x1e
xor edi, edi
shl eax, 2
or eax, ecx
or edx, edi
mov ecx, edx
mov edx, dword [esp + 0x18]
xor eax, 0xca69a574
xor ecx, esi
mov esi, dword [esp + 0x1c]
cmp edx, eax
jne 0x4192a0
cmp esi, ecx
je 0x4192e7
push dword [0x42c314]
push dword [0x42c0a8]
mov eax, dword [0x42c224]
mov eax, dword [eax + 0x1a4]
push dword [eax]
mov eax, dword [esp + 0x78]
call eax
mov ecx, dword [0x42c224]
mov ecx, dword [ecx + 0x1dc]
mov dword [ecx], eax
mov eax, dword [0x42c224]
push 4
add eax, 0x1dc
push eax
lea eax, [esp + 0x94]
push eax
call fcn.00410c5c
mov eax, dword [esp + 0x8c]
mov eax, dword [eax]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc