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

Disassembly:
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x14]
push 0xffffffffffffffff
push edi
call fcn.0040d500
mov eax, dword [esp + 0x2c]
add esp, 8
mov ecx, dword [eax + 8]
test ch, 0x10
je 0x417593
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov ecx, dword [eax + 0x30]
test ecx, ecx
jle 0x417593
mov ecx, dword [eax + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [ecx + ebx*4]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x416f52
test cl, cl
je 0x416f4e
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x416f52
add eax, 2
add esi, 2
test cl, cl
jne 0x416f2e
xor eax, eax
jmp 0x416f57
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x417585
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 0x1c]
mov ebp, dword [ecx + ebx*4]
test ebp, ebp
jne 0x416f75
mov dword [edi + 0xc], ebx
jmp 0x417585
mov esi, 0x4343dc
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x416fa0
test dl, dl
je 0x416f9c
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x416fa0
add ecx, 2
add esi, 2
test dl, dl
jne 0x416f7c
xor ecx, ecx
jmp 0x416fa5
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x416fb1
mov dword [edi + 0x7c], ebx
jmp 0x417585
mov esi, 0x4343d8
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x416fdc
test dl, dl
je 0x416fd8
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x416fdc
add ecx, 2
add esi, 2
test dl, dl
jne 0x416fb8
xor ecx, ecx
jmp 0x416fe1
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x416ff0
mov dword [edi + 0x80], ebx
jmp 0x417585
mov esi, 0x4346b8
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x41701b
test dl, dl
je 0x417017
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x41701b
add ecx, 2
add esi, 2
test dl, dl
jne 0x416ff7
xor ecx, ecx
jmp 0x417020
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x41702c
mov dword [edi + 0x20], ebx
jmp 0x417585
mov esi, str.D.X1
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417057
test dl, dl
je 0x417053
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417057
add ecx, 2
add esi, 2
test dl, dl
jne 0x417033
xor ecx, ecx
jmp 0x41705c
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417068
mov dword [edi + 0x24], ebx
jmp 0x417585
mov esi, str.D.X2
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417093
test dl, dl
je 0x41708f
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417093
add ecx, 2
add esi, 2
test dl, dl
jne 0x41706f
xor ecx, ecx
jmp 0x417098
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4170a4
mov dword [edi + 0x28], ebx
jmp 0x417585
mov esi, 0x4346a4
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x4170cf
test dl, dl
je 0x4170cb
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4170cf
add ecx, 2
add esi, 2
test dl, dl
jne 0x4170ab
xor ecx, ecx
jmp 0x4170d4
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4170e0
mov dword [edi + 0x2c], ebx
jmp 0x417585
mov esi, str.T.X1
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x41710b
test dl, dl
je 0x417107
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x41710b
add ecx, 2
add esi, 2
test dl, dl
jne 0x4170e7
xor ecx, ecx
jmp 0x417110
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x41711c
mov dword [edi + 0x30], ebx
jmp 0x417585
mov esi, 0x434694
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417147
test dl, dl
je 0x417143
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417147
add ecx, 2
add esi, 2
test dl, dl
jne 0x417123
xor ecx, ecx
jmp 0x41714c
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417158
mov dword [edi + 0x34], ebx
jmp 0x417585
mov esi, str.SRKJ
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417183
test dl, dl
je 0x41717f
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417183
add ecx, 2
add esi, 2
test dl, dl
jne 0x41715f
xor ecx, ecx
jmp 0x417188
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417194
mov dword [edi + 0x48], ebx
jmp 0x417585
mov esi, 0x434688
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x4171bf
test dl, dl
je 0x4171bb
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4171bf
add ecx, 2
add esi, 2
test dl, dl
jne 0x41719b
xor ecx, ecx
jmp 0x4171c4
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4171d0
mov dword [edi + 0x44], ebx
jmp 0x417585
mov esi, 0x434690
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x4171fb
test dl, dl
je 0x4171f7
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4171fb
add ecx, 2
add esi, 2
test dl, dl
jne 0x4171d7
xor ecx, ecx
jmp 0x417200
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x41720c
mov dword [edi + 0x4c], ebx
jmp 0x417585
mov esi, 0x43468c
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417237
test dl, dl
je 0x417233
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417237
add ecx, 2
add esi, 2
test dl, dl
jne 0x417213
xor ecx, ecx
jmp 0x41723c
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417248
mov dword [edi + 0x50], ebx
jmp 0x417585
mov esi, 0x434680
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417273
test dl, dl
je 0x41726f
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417273
add ecx, 2
add esi, 2
test dl, dl
jne 0x41724f
xor ecx, ecx
jmp 0x417278
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417284
mov dword [edi + 0x38], ebx
jmp 0x417585
mov esi, str.REG.X1
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x4172af
test dl, dl
je 0x4172ab
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4172af
add ecx, 2
add esi, 2
test dl, dl
jne 0x41728b
xor ecx, ecx
jmp 0x4172b4
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4172c0
mov dword [edi + 0x3c], ebx
jmp 0x417585
mov esi, str.REG.X2
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x4172eb
test dl, dl
je 0x4172e7
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4172eb
add ecx, 2
add esi, 2
test dl, dl
jne 0x4172c7
xor ecx, ecx
jmp 0x4172f0
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4172fc
mov dword [edi + 0x40], ebx
jmp 0x417585
mov esi, 0x4346c4
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417327
test dl, dl
je 0x417323
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417327
add ecx, 2
add esi, 2
test dl, dl
jne 0x417303
xor ecx, ecx
jmp 0x41732c
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417338
mov dword [edi + 0x14], ebx
jmp 0x417585
mov esi, 0x4346c0
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417363
test dl, dl
je 0x41735f
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417363
add ecx, 2
add esi, 2
test dl, dl
jne 0x41733f
xor ecx, ecx
jmp 0x417368
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417374
mov dword [edi + 0x18], ebx
jmp 0x417585
mov esi, 0x4346bc
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x41739f
test dl, dl
je 0x41739b
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x41739f
add ecx, 2
add esi, 2
test dl, dl
jne 0x41737b
xor ecx, ecx
jmp 0x4173a4
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4173b0
mov dword [edi + 0x1c], ebx
jmp 0x417585
mov esi, 0x434518
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x4173db
test dl, dl
je 0x4173d7
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4173db
add ecx, 2
add esi, 2
test dl, dl
jne 0x4173b7
xor ecx, ecx
jmp 0x4173e0
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4173ec
mov dword [edi + 0x64], ebx
jmp 0x417585
mov esi, 0x434480
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417417
test dl, dl
je 0x417413
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417417
add ecx, 2
add esi, 2
test dl, dl
jne 0x4173f3
xor ecx, ecx
jmp 0x41741c
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417428
mov dword [edi + 0x68], ebx
jmp 0x417585
mov esi, 0x4343ec
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417453
test dl, dl
je 0x41744f
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417453
add ecx, 2
add esi, 2
test dl, dl
jne 0x41742f
xor ecx, ecx
jmp 0x417458
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417464
mov dword [edi + 0x6c], ebx
jmp 0x417585
mov esi, 0x4343e8
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x41748f
test dl, dl
je 0x41748b
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x41748f
add ecx, 2
add esi, 2
test dl, dl
jne 0x41746b
xor ecx, ecx
jmp 0x417494
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4174a0
mov dword [edi + 0x70], ebx
jmp 0x417585
mov esi, 0x4343e4
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x4174cb
test dl, dl
je 0x4174c7
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4174cb
add ecx, 2
add esi, 2
test dl, dl
jne 0x4174a7
xor ecx, ecx
jmp 0x4174d0
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4174dc
mov dword [edi + 0x74], ebx
jmp 0x417585
mov esi, 0x4343e0
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417507
test dl, dl
je 0x417503
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417507
add ecx, 2
add esi, 2
test dl, dl
jne 0x4174e3
xor ecx, ecx
jmp 0x41750c
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x417515
mov dword [edi + 0x78], ebx
jmp 0x417585
mov esi, 0x434638
mov ecx, ebp
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x417540
test dl, dl
je 0x41753c
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x417540
add ecx, 2
add esi, 2
test dl, dl
jne 0x41751c
xor ecx, ecx
jmp 0x417545
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x41754e
mov dword [edi + 0x5c], ebx
jmp 0x417585
mov esi, 0x4345a8
mov eax, ebp
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x417579
test cl, cl
je 0x417575
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x417579
add eax, 2
add esi, 2
test cl, cl
jne 0x417555
xor eax, eax
jmp 0x41757e
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x417585
mov dword [edi + 0x60], ebx
mov eax, dword [esp + 0x18]
inc ebx
cmp ebx, dword [eax + 0x30]
jl 0x416f24
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 8]
test ch, 8
je 0x4177bf
mov ecx, dword [esp + 0x18]
xor ebp, ebp
mov eax, dword [ecx + 0x2c]
test eax, eax
jle 0x4177bf
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [edx + 0x10]
mov eax, dword [eax + ebp*4]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x4175ea
test cl, cl
je 0x4175e6
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x4175ea
add eax, 2
add esi, 2
test cl, cl
jne 0x4175c6
xor eax, eax
jmp 0x4175ef
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4177ad
mov ecx, ebp
mov eax, 1
and ecx, 0x1f
shl eax, cl
mov ecx, ebp
sar ecx, 5
test dword [ebx + ecx*4 + 4], eax
je 0x4177ad
mov edx, dword [esp + 0x18]
mov eax, dword [edx + 0x14]
mov edi, dword [eax + ebp*4]
test edi, edi
jne 0x41762f
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x84], ebp
jmp 0x4177ad
mov esi, 0x4346c8
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x41765a
test dl, dl
je 0x417656
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x41765a
add ecx, 2
add esi, 2
test dl, dl
jne 0x417636
xor ecx, ecx
jmp 0x41765f
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x41766f
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x10], ebp
jmp 0x4177ad
mov esi, 0x434668
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x41769a
test dl, dl
je 0x417696
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x41769a
add ecx, 2
add esi, 2
test dl, dl
jne 0x417676
xor ecx, ecx
jmp 0x41769f
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4176af
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x58], ebp
jmp 0x4177ad
mov esi, 0x43466c
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x4176da
test dl, dl
je 0x4176d6
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x4176da
add ecx, 2
add esi, 2
test dl, dl
jne 0x4176b6
xor ecx, ecx
jmp 0x4176df
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x4176ef
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x54], ebp
jmp 0x4177ad
mov esi, 0x4346b8
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x41771a
test dl, dl
je 0x417716
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x41771a
add ecx, 2
add esi, 2
test dl, dl
jne 0x4176f6
xor ecx, ecx
jmp 0x41771f
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x41772f
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x88], ebp
jmp 0x4177ad
mov esi, 0x434680
mov ecx, edi
mov al, byte [ecx]
mov dl, al
cmp al, byte [esi]
jne 0x41775a
test dl, dl
je 0x417756
mov al, byte [ecx + 1]
mov dl, al
cmp al, byte [esi + 1]
jne 0x41775a
add ecx, 2
add esi, 2
test dl, dl
jne 0x417736
xor ecx, ecx
jmp 0x41775f
sbb ecx, ecx
sbb ecx, 0xffffffff
test ecx, ecx
jne 0x41776f
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0x8c], ebp
jmp 0x4177ad
mov esi, 0x4346a4
mov eax, edi
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x41779a
test cl, cl
je 0x417796
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x41779a
add eax, 2
add esi, 2
test cl, cl
jne 0x417776
xor eax, eax
jmp 0x41779f
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4177ad
mov eax, dword [esp + 0x14]
mov dword [eax + 0x90], ebp
mov ecx, dword [esp + 0x18]
inc ebp
cmp ebp, dword [ecx + 0x2c]
jl 0x4175b8
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 8]
test ah, 2
jne 0x4177ef
mov dword [edi + 4], 0
mov eax, dword [0x44267c]
cmp eax, 8
jne 0x417837
mov eax, dword [edi + 0x5c]
test eax, eax
jl 0x417837
mov dword [edi + 4], 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
ret
test ah, 1
jne 0x417800
mov dword [edi + 4], 1
pop edi
pop esi
pop ebp
pop ebx
ret
mov eax, dword [edi + 0x5c]
test eax, eax
jl 0x417830
mov eax, dword [edi + 0x10]
test eax, eax
jge 0x417824
mov eax, dword [edi + 0x84]
test eax, eax
jge 0x417824
mov dword [edi + 4], 3
pop edi
pop esi
pop ebp
pop ebx
ret
mov dword [edi + 4], 4
pop edi
pop esi
pop ebp
pop ebx
ret
mov dword [edi + 4], 2
pop edi
pop esi
pop ebp
pop ebx
ret